<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sanchit Srivastava</title>
	<atom:link href="http://sanchit6.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sanchit6.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 19 Aug 2009 14:20:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='sanchit6.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ebb08e4c09d327d62112d3a8f7a6ec83?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Sanchit Srivastava</title>
		<link>http://sanchit6.wordpress.com</link>
	</image>
			<item>
		<title>File Semaphore / Mutex</title>
		<link>http://sanchit6.wordpress.com/2009/08/19/file-semaphore-mutex/</link>
		<comments>http://sanchit6.wordpress.com/2009/08/19/file-semaphore-mutex/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:16:52 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mutex]]></category>
		<category><![CDATA[semaphore]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=72</guid>
		<description><![CDATA[Below is an implementation of a File based mutex in Java

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.OverlappingFileLockException;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * A file based mutual exclusion lock that allows to acquire and release the underlying
 * resource. On acquiring the lock the file is created with the given contents. The
 * lock is free [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=72&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Below is an implementation of a File based mutex in Java</p>
<pre>
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.OverlappingFileLockException;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * A file based mutual exclusion lock that allows to acquire and release the underlying
 * resource. On acquiring the lock the file is created with the given contents. The
 * lock is free on construction.
 *
 * The lock is also associated with a maximum unused period. If the lock is not
 * updated during the given period, any other thread waiting to acquire the lock
 * will be given the lock.
 *
 * The lock is said to be acquired only when the file exists and file last used
 * timestamp is within unusedMsec. permitted
 *
 * The read and write operation to the mutex file are synchronized across
 * different process by encapsulating that with a create &amp; lock operation
 * on a separate file. So before a process can acquire/read mutex (update mutex
 * content &amp; timestamp) , it needs to create &amp; lock another predefined
 * file and also delete the lock file after the operation on mutex are done. This is
 * to ensure that multiple processes/threads dont acquire the mutex at the same time
 */
public class FileMutex {
    /** The lock file name **/
    private String mutex = System.getProperty("java.io.tmpdir") + "app.lck";

    /** Msecs. file can be left unused before another thread acquires the lock File **/
    private long unusedMSec;

    /** file contents telling which component/application is holding the lock **/
    private String mutexContent;

    /** FileName of the lock for mutex **/
    private String lockOnMutex = mutex + ".lck";

    public static final long ONE_SECOND = 1000;
    public static final long ONE_MINUTE = 60 * ONE_SECOND;

    /**
     * @param lockFileContent
     * @param unusedMSec
     */
    public FileMutex(String lockFileContent, long unusedMSec) {
        this.mutexContent = lockFileContent;
        this.unusedMSec = unusedMSec;
    }

    public void acquire() throws InterruptedException {
        try {
            while (isInuseMutex())
                Thread.sleep(ONE_SECOND);
            createMutex();
        } catch (Exception e) {
            throw new InterruptedException("Error acquiring lock: " + e.getMessage());
        }
    }

    public synchronized void release() {
        releaseMutex();
    }

    public boolean tryAcquire() throws InterruptedException {
        try {
            if (!isInuseMutex()) {
                boolean created = createMutex();
                return created;
            }
        } catch (Exception e) {
            throw new InterruptedException("Error acquiring lock: " + e.getMessage());
        }
        return false;
    }

    public boolean update() {
        createMutex();
        return true;
    }

    /**
     * @return
     */
    private boolean isInuseMutex() {
        File lockOnMutexFile = new File(lockOnMutex);
        FileChannel channel = null;
        FileLock lock = null;
        try {
            channel = new RandomAccessFile(lockOnMutexFile, "rw").getChannel();
            lockOnMutexFile.createNewFile();
            try {
                lock = channel.tryLock();
            } catch (OverlappingFileLockException e) {
                // File is already locked in this thread or virtual machine
                return true;
            }

            File mutexFile = new File(mutex);
            if (!mutexFile.exists()) {
                return false;
            }

            Date lockLastUsedDate = new Date(mutexFile.lastModified());
            Date oldestAllowedLockUsedDate =
                         new Date(System.currentTimeMillis() - unusedMSec);
            if (lockLastUsedDate.before(oldestAllowedLockUsedDate)) {
                return false;
            }
        } catch (Exception e) {
            System.out.println("Error acquiring lock: " + e.getMessage());
        } finally {
            try {
                if (lock != null)
                    lock.release();
            } catch (IOException e) {
            }
            try {
                channel.close();
            } catch (IOException e) {
            }
            lockOnMutexFile.delete();
        }
        return true;
    }

    /**
     * Creates the lock file with the given contents.
     *
     */
    private boolean createMutex() {
        File lockOnMutexFile = new File(lockOnMutex);
        FileChannel channel = null;
        FileLock lock = null;
        try {
            channel = new RandomAccessFile(lockOnMutexFile, "rw").getChannel();
            lockOnMutexFile.createNewFile();
            try {
                lock = channel.tryLock();
            } catch (OverlappingFileLockException e) {
                // File is already locked in this thread or virtual machine
                return false;
            }

            File mutexFile = new File(mutex);
            mutexFile.createNewFile();
            FileWriter writer = new FileWriter(mutexFile);
            writer.append(mutexContent);
            writer.flush();
            writer.close();
        } catch (IOException e) {
            System.out.println("Error acquiring lock: " + e.getMessage());
        } finally {
            try {
                if (lock != null)
                    lock.release();
            } catch (IOException e) {
            }
            try {
                channel.close();
            } catch (IOException e) {
            }
            lockOnMutexFile.delete();
        }
        return true;
    }

    /**
     * Release the mutex .. that is Delete the underlying lock file, if it exists
     */
    private void releaseMutex() {
        File mutexFile = new File(mutex);
        mutexFile.delete();
    }
}
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=72&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2009/08/19/file-semaphore-mutex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>Springing &#8211; AOP/Proxy Patterns</title>
		<link>http://sanchit6.wordpress.com/2008/08/02/springing-aopproxy-patterns/</link>
		<comments>http://sanchit6.wordpress.com/2008/08/02/springing-aopproxy-patterns/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 12:30:16 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Spring]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=42</guid>
		<description><![CDATA[Working on Spring, we do read a lot on AOP &#8211; Aspect Oriented Programming. Is it something different from Object Oriented Programming. Nope, AOP is kind of a design pattern that we had been using fairly regularly in our natural programming but has been given a big name by Spring, coz of the beauty with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=42&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Working on Spring, we do read a lot on AOP &#8211; Aspect Oriented Programming. Is it something different from Object Oriented Programming. Nope, AOP is kind of a design pattern that we had been using fairly regularly in our natural programming but has been given a big name by Spring, coz of the beauty with which it has been implemented by Rod Johnson.</p>
<p>Its called a Proxy-pattern. Its a facade. If you have dealt with proxies in core java or with an interface called <em>java.lang.reflect.InvocationHandler</em>, you would agree with me. For more details, see my previous post <a href="http://sanchit6.wordpress.com/2008/08/02/springing-dynamic-proxy-with-pure-java/">http://sanchit6.wordpress.com/2008/08/02/springing-dynamic-proxy-with-pure-java<br />
</a>However thats not all what spring does. There are few limitations with using this core java way of Proxy. It only works on classes that have Interfaces. So if you want to proxy your class, without using an interface, you can&#8217;t; untill you use the savior CGLib (Code Generation Library). This library can even help you proxy or advice your classes.</p>
<pre><span style="font-size:small;">&lt;bean id="name"
	class="org.springframework.aop.framework.ProxyFactoryBean" &gt;
	&lt;property name="target" ref="myClassTargetBean"&gt;&lt;/property&gt;
	&lt;property name="interfaces"&gt;
		&lt;list&gt;
			&lt;value&gt;com.java.MyInterface&lt;/value&gt;
		&lt;/list&gt;
	&lt;/property&gt;
	&lt;property name="interceptorNames" &gt;
		&lt;list&gt;
			&lt;value&gt;someInterceptor&lt;/value&gt;
		&lt;/list&gt;
	&lt;/property&gt;
&lt;/bean&gt;</span></pre>
<p>This is a sample spring configuration to define a proxy around some class implementing <em>com.java.MyInterface</em> declared as <em>myClassTargetBean</em> and advised/proxied by <em>someInterceptor</em>. What if we don&#8217;t have an interface. Invoking CGLib is fairly simple. Just don&#8217;t provide the <em>interfaces</em> property; instead declare this property</p>
<pre><span style="font-size:small;">&lt;property name="proxyTargetClass" value="true" /&gt;</span></pre>
<p>Hope that helps&#8230;cheers, bye.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=42&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/08/02/springing-aopproxy-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>Springing &#8211; Dynamic Proxy with pure Java</title>
		<link>http://sanchit6.wordpress.com/2008/08/02/springing-dynamic-proxy-with-pure-java/</link>
		<comments>http://sanchit6.wordpress.com/2008/08/02/springing-dynamic-proxy-with-pure-java/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 11:42:41 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Spring]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=10</guid>
		<description><![CDATA[Lets see the magic of Spring, although at a very base level but would give you a fair idea about Spring AOP/IOC and particularly the &#8216;Proxy&#8217;. I ll be using plain java to show how the Proxy pattern works.
Lets take up a simple Interface depicting our business requirement
public interface IBusiness {
    public [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=10&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Lets see the magic of Spring, although at a very base level but would give you a fair idea about Spring AOP/IOC and particularly the &#8216;Proxy&#8217;. I ll be using plain java to show how the Proxy pattern works.</p>
<p>Lets take up a simple Interface depicting our business requirement</p>
<pre><span style="font-size:small;">public interface IBusiness {
    public String getData();
}</span></pre>
<p>Lets take its implementation class</p>
<pre><span style="font-size:small;">public class BusinessImpl implements IBusiness {
    String data;
    public BusinessImpl() {
        System.out.println("BusinessImpl: Constructor invoked");
        this.data= "spring without spring";
    }

    public String getData() {
        System.out.println("BusinessImpl: getVersion invoked");
        return version;
    }
}</span></pre>
<p>Now, since we don&#8217;t want anyone to know what kind of BusinessImpl we have, we need a factory, that simply returns to our users the IBusiness interface. Beneath, It may be Hibernate/JDBC/IBAtis or some abstract logic of our own (considering our business is considered with accessing data).</p>
<pre><span style="font-size:small;">public class Factory {
    private static Factory factory = new Factory();
    public static Factory instance() {
        return factory;
    }

    public IBusiness getBusiness() {
        IBusiness business = new BusinessImpl();
        return business;
    }
}</span></pre>
<p>And what the users of our Business would do is <span style="color:#800080;"><em>Factory.instance().getBusiness()</em></span> to get a handle to our BusinessImpl, which actually they dont know. Untill now it was just abstarction I was telling you about. Now lets look into actually creating a proxy, lets say a LoggerProxy.<br />
Any Proxy in java must implement <span style="color:#800080;"><em>java.lang.reflect.InvocationHandler</em></span> Interface and override its <span style="color:#800080;"><em>public Object invoke(Object proxy, Method method, Object[] args) throws Throwable;</em></span> method</p>
<pre><span style="font-size:small;">public class LoggerProxy implements InvocationHandler {
    IBusiness target;
    public LoggerProxy(IBusiness target) {
        this.target = target;
    }

    public Object invoke(Object proxy, Method method, Object[] args)
              throws Throwable {
        String result = null;
        System.out.println("Log start");
        System.out.println("Logging Proxy .." + proxy.getClass().
              getName());
        result = (String) method.invoke(target, args);
        System.out.println("Log end");
        return result;
    }
}</span></pre>
<p>So, now we have a Proxy, that thats gonna do some logging, invoke our actual business class and again do some logging at exit. However what is missing still is plugging it all together in our factory&#8217;s <span style="color:#800080;"><em>getBusiness()</em></span> method. So lets change that method a bit</p>
<pre><span style="font-size:small;">    public IBusiness getBusiness() {
        Class[] interfaces = new Class[] { IBusiness.class };
        IBusiness bus = new BusinessImpl();
        IBusiness business = (IBusiness) Proxy.newProxyInstance(
             IBusiness.class.getClassLoader(),
             interfaces,
             new LoggerProxy(bus));
        return business;
    }</span></pre>
<p>Confused??? OK! What I have done is instantiated a Proxy class for our LoggerProxy using <span style="color:#800080;"><em>Proxy.newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)</em></span> method. Also now Proxy has a handle to our actual business class when we did <em>new LoggerProxy(bus)</em></p>
<p>Now lets test all that.</p>
<pre><span style="font-size:small;">public class Springing {
    public static void main(String[] args) {
        IBusiness business = Factory.instance().getBusiness();
        System.out.println("GET ---&gt;" + business.getData());
        System.out.println("My business object is a proxy.."
             + business.getClass().getName());
    }
}</span></pre>
<p>Now what you get in output would make it more clear&#8230;I wont write it here, instead leave it as an exercise for you to find that fire any question you have for me&#8230;Hope you find it interesting as have I. cheers&#8230;bye.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=10&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/08/02/springing-dynamic-proxy-with-pure-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>How to remove duplicate objects returned in Hibernate HQL Criteria Queries</title>
		<link>http://sanchit6.wordpress.com/2008/07/12/how-to-remove-duplicate-objects-returned-in-hibernate-hql-criteria-queries/</link>
		<comments>http://sanchit6.wordpress.com/2008/07/12/how-to-remove-duplicate-objects-returned-in-hibernate-hql-criteria-queries/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 07:13:45 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[duplicate objects]]></category>
		<category><![CDATA[duplicate results]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[hql]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=9</guid>
		<description><![CDATA[When using joins(outer join fetch or join fetch) in HQL or when using Criteria&#8230; you may end up having duplicate objects in your result list. The way is simple to filter the results. Simply use a HashSet or LinkedHashSet or TreeSet
Example:
List list = session.session.getNamedQuery(&#8220;My.Named.Query.With.Joins&#8221;).list();
// you might have duplicates now
Set set = new HashSet(list);
list.clear();
list.addAll(set);
// no duplicates [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=9&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When using joins(outer join fetch or join fetch) in HQL or when using Criteria&#8230; you may end up having duplicate objects in your result list. The way is simple to filter the results. Simply use a HashSet or LinkedHashSet or TreeSet</p>
<p>Example:</p>
<p>List list = session.session.getNamedQuery(&#8220;My.Named.Query.With.Joins&#8221;).list();<br />
// you might have duplicates now<br />
Set set = new HashSet(list);<br />
list.clear();<br />
list.addAll(set);<br />
// no duplicates now</p>
<p>You might use LinkedHashSet or TreeSet if you really care about the order of results, else cheers &#8211; BYE.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=9&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/07/12/how-to-remove-duplicate-objects-returned-in-hibernate-hql-criteria-queries/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>Auto Generate hibernate mapping files and pojos</title>
		<link>http://sanchit6.wordpress.com/2008/05/06/auto-generate-hibernate-mapping-files-and-pojos/</link>
		<comments>http://sanchit6.wordpress.com/2008/05/06/auto-generate-hibernate-mapping-files-and-pojos/#comments</comments>
		<pubDate>Tue, 06 May 2008 06:42:02 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Auto Generate]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[hbm2java]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[middlegen]]></category>
		<category><![CDATA[pojos]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=7</guid>
		<description><![CDATA[Use the following targets to auto generate hibernate mapping files from database and pojos from .hbm.xml files.
&#60;taskdef name=&#8221;hbm2java&#8221;
classname=&#8221;net.sf.hibernate.tool.hbm2java.Hbm2JavaTask&#8221;&#62;
&#60;classpath refid=&#8221;hbm2java.class.path&#8221; /&#62;
&#60;/taskdef&#62;
&#60;taskdef name=&#8221;middlegen&#8221; classname=&#8221;middlegen.MiddlegenTask&#8221;&#62;
&#60;classpath refid=&#8221;middlegen.class.path&#8221; /&#62;
&#60;/taskdef&#62;
&#60;target name=&#8221;hbm2java&#8221; description=&#8221;Generate Java Pojos from the Hibernate mapping files&#8221;&#62;
&#60;hbm2java output=&#8221;${source.generated}&#8221;
config=&#8221;hibernate.cfg.xml&#8221;&#62;
&#60;fileset dir=&#8221;${hibernate.source}&#8221;&#62;
&#60;include name=&#8221;**/*.hbm.xml&#8221; /&#62;
&#60;/fileset&#62;
&#60;/hbm2java&#62;
&#60;/target&#62;
&#60;target name=&#8221;middlegen&#8221; description=&#8221;Generate Hibernate mapping files&#8221;&#62;
&#60;middlegen appname=&#8221;Hibernate-Spring&#8221; prefsdir=&#8221;${middlegen.temp}&#8221;
gui=&#8221;false&#8221; databaseurl=&#8221;${jdbc.url}&#8221; driver=&#8221;${jdbc.driver}&#8221;
username=&#8221;${database.username}&#8221; password=&#8221;${database.password}&#8221;
schema=&#8221;${database.schema}&#8221; catalog=&#8221;${database.catalog}&#8221;&#62;
&#60;!&#8211; Optionally declare table elements &#8211;&#62;
&#60;!&#8211; Optionally declare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=7&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Use the following targets to auto generate hibernate mapping files from database and pojos from .hbm.xml files.</p>
<p>&lt;taskdef name=&#8221;hbm2java&#8221;<br />
classname=&#8221;net.sf.hibernate.tool.hbm2java.Hbm2JavaTask&#8221;&gt;<br />
&lt;classpath refid=&#8221;hbm2java.class.path&#8221; /&gt;<br />
&lt;/taskdef&gt;</p>
<p>&lt;taskdef name=&#8221;middlegen&#8221; classname=&#8221;middlegen.MiddlegenTask&#8221;&gt;<br />
&lt;classpath refid=&#8221;middlegen.class.path&#8221; /&gt;<br />
&lt;/taskdef&gt;</p>
<p>&lt;target name=&#8221;hbm2java&#8221; description=&#8221;Generate Java Pojos from the Hibernate mapping files&#8221;&gt;<br />
&lt;hbm2java output=&#8221;${source.generated}&#8221;<br />
config=&#8221;hibernate.cfg.xml&#8221;&gt;<br />
&lt;fileset dir=&#8221;${hibernate.source}&#8221;&gt;<br />
&lt;include name=&#8221;**/*.hbm.xml&#8221; /&gt;<br />
&lt;/fileset&gt;<br />
&lt;/hbm2java&gt;<br />
&lt;/target&gt;</p>
<p>&lt;target name=&#8221;middlegen&#8221; description=&#8221;Generate Hibernate mapping files&#8221;&gt;<br />
&lt;middlegen appname=&#8221;Hibernate-Spring&#8221; prefsdir=&#8221;${middlegen.temp}&#8221;<br />
gui=&#8221;false&#8221; databaseurl=&#8221;${jdbc.url}&#8221; driver=&#8221;${jdbc.driver}&#8221;<br />
username=&#8221;${database.username}&#8221; password=&#8221;${database.password}&#8221;<br />
schema=&#8221;${database.schema}&#8221; catalog=&#8221;${database.catalog}&#8221;&gt;<br />
&lt;!&#8211; Optionally declare table elements &#8211;&gt;<br />
&lt;!&#8211; Optionally declare many2many elements &#8211;&gt;<br />
&lt;!&#8211; One or more plugins &#8211;&gt;<br />
&lt;hibernate destination=&#8221;${source.generated}&#8221;<br />
package=&#8221;${package.name}&#8221;<br />
javaTypeMapper=&#8221;middlegen.plugins.hibernate.HibernateJavaTypeMapper&#8221; /&gt;<br />
&lt;/middlegen&gt;<br />
&lt;/target&gt;</p>
<p>Sample build.properties file</p>
<p># MSJava, Hibernate, Middlegen<br />
hibernate.home=C:/Hibernate/hibernate-2.1<br />
hibernate.extensions.home=C:/Hibernate/hibernate-extensions-2.1.3<br />
middlegen.home=C:/Hibernate/middlegen-2.1<br />
middlegen.temp=C:/middlegen.temp</p>
<p># Source Folders/Packages<br />
source.generated=packages<br />
hibernate.source=packages/java/test<br />
package.name=java.test</p>
<p># Database connection<br />
jdbc.url=<br />
jdbc.driver=<br />
database.username=<br />
database.password=<br />
database.schema=<br />
database.catalog=</p>
<p>I hope that helps, Cheers Bye</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=7&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/05/06/auto-generate-hibernate-mapping-files-and-pojos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>start stop tomcat with ant</title>
		<link>http://sanchit6.wordpress.com/2008/05/05/start-stop-tomcat-with-ant/</link>
		<comments>http://sanchit6.wordpress.com/2008/05/05/start-stop-tomcat-with-ant/#comments</comments>
		<pubDate>Mon, 05 May 2008 15:02:45 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=6</guid>
		<description><![CDATA[Here is a simple ant target to start/stop your instance of tomcat running
&#60;target name=&#8221;start-tomcat&#8221;&#62;
&#60;if&#62;
&#60;not&#62;
&#60;http url=&#8221;http://localhost:8080&#8243; /&#62;
&#60;/not&#62;
&#60;then&#62;
&#60;java jar=&#8221;${tomcat.home}/bin/bootstrap.jar&#8221; fork=&#8221;true&#8221;&#62;
&#60;jvmarg value=&#8221;-Dcatalina.home=${tomcat.home}&#8221; /&#62;
&#60;/java&#62;
&#60;echo message=&#8221;Server Started&#8221;&#62;&#60;/echo&#62;
&#60;/then&#62;
&#60;else&#62;
&#60;echo message=&#8221;Tomcat Instance Already Running&#8221;&#62;&#60;/echo&#62;
&#60;/else&#62;
&#60;/if&#62;
&#60;/target&#62;
&#60;target name=&#8221;stop-tomcat&#8221;&#62;
&#60;if&#62;
&#60;http url=&#8221;http://localhost:8080&#8243; /&#62;
&#60;then&#62;
&#60;java jar=&#8221;${tomcat.home}/bin/bootstrap.jar&#8221; fork=&#8221;true&#8221;&#62;
&#60;jvmarg value=&#8221;-Dcatalina.home=${tomcat.home}&#8221; /&#62;
&#60;arg line=&#8221;stop&#8221; /&#62;
&#60;/java&#62;
&#60;echo message=&#8221;Server Terminated&#8221;&#62;&#60;/echo&#62;
&#60;/then&#62;
&#60;else&#62;
&#60;echo message=&#8221;No Tomcat Instance Running&#8221;&#62;&#60;/echo&#62;
&#60;/else&#62;
&#60;/if&#62;
&#60;/target&#62;
These targets would first check to see if any instance of tomcat is running or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=6&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Here is a simple ant target to start/stop your instance of tomcat running</p>
<p style="text-align:justify;">&lt;target name=&#8221;start-tomcat&#8221;&gt;<br />
&lt;if&gt;<br />
&lt;not&gt;<br />
&lt;http url=&#8221;http://localhost:8080&#8243; /&gt;<br />
&lt;/not&gt;<br />
&lt;then&gt;<br />
&lt;java jar=&#8221;${tomcat.home}/bin/bootstrap.jar&#8221; fork=&#8221;true&#8221;&gt;<br />
&lt;jvmarg value=&#8221;-Dcatalina.home=${tomcat.home}&#8221; /&gt;<br />
&lt;/java&gt;<br />
&lt;echo message=&#8221;Server Started&#8221;&gt;&lt;/echo&gt;<br />
&lt;/then&gt;<br />
&lt;else&gt;<br />
&lt;echo message=&#8221;Tomcat Instance Already Running&#8221;&gt;&lt;/echo&gt;<br />
&lt;/else&gt;<br />
&lt;/if&gt;<br />
&lt;/target&gt;</p>
<p style="text-align:justify;">&lt;target name=&#8221;stop-tomcat&#8221;&gt;<br />
&lt;if&gt;<br />
&lt;http url=&#8221;http://localhost:8080&#8243; /&gt;<br />
&lt;then&gt;<br />
&lt;java jar=&#8221;${tomcat.home}/bin/bootstrap.jar&#8221; fork=&#8221;true&#8221;&gt;<br />
&lt;jvmarg value=&#8221;-Dcatalina.home=${tomcat.home}&#8221; /&gt;<br />
&lt;arg line=&#8221;stop&#8221; /&gt;<br />
&lt;/java&gt;<br />
&lt;echo message=&#8221;Server Terminated&#8221;&gt;&lt;/echo&gt;<br />
&lt;/then&gt;<br />
&lt;else&gt;<br />
&lt;echo message=&#8221;No Tomcat Instance Running&#8221;&gt;&lt;/echo&gt;<br />
&lt;/else&gt;<br />
&lt;/if&gt;<br />
&lt;/target&gt;</p>
<p>These targets would first check to see if any instance of tomcat is running or not else would initiate the process</p>
<p>Conditions:</p>
<ul>
<li>your tomcat.home variable is set</li>
<li>server runs on localhost:8080</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=6&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/05/05/start-stop-tomcat-with-ant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>What is a Data Service</title>
		<link>http://sanchit6.wordpress.com/2008/03/27/what-is-a-data-service/</link>
		<comments>http://sanchit6.wordpress.com/2008/03/27/what-is-a-data-service/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 16:19:08 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=5</guid>
		<description><![CDATA[A Data Service is about exposing data through Services. Data Services provides abstarcted and consolidated view of data between the consumer and diverse data source kinds. Data services are like virtual datasouces, consuming data from different sources and providing a complex view of data according to our needs. Data Services simplfies our data access by providing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=5&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A Data Service is about exposing data through Services. Data Services provides abstarcted and consolidated view of data between the consumer and diverse data source kinds. Data services are like virtual datasouces, consuming data from different sources and providing a complex view of data according to our needs. Data Services simplfies our data access by providing multiple ways of data access like web services, java clients, mediator api (SDO), etc. They once created are highly reusable across different applications. They highly simplfy the development process by eliminating the need to write any code but providing a graphical enviroment to generate the code.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=5&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/03/27/what-is-a-data-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>What in Aqualogic DSP?</title>
		<link>http://sanchit6.wordpress.com/2008/03/17/what-in-aqualogic-dsp/</link>
		<comments>http://sanchit6.wordpress.com/2008/03/17/what-in-aqualogic-dsp/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 20:13:55 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Followups]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[BEA Aqualogic DSP]]></category>
		<category><![CDATA[data services platform]]></category>
		<category><![CDATA[dsp]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=4</guid>
		<description><![CDATA[Yup! here are some points to look into when driving your feet into Data Services Platform Domain.

What is DSP?
Why DSP?
What is a Data Service?
The Installation.
Dataspace Project &#38; Components.
Importing datasource metadata.
Using design view &#8211; Creating logical components
Using source view &#8211; Writing Xquery
XQuery Basics
Testing and Viewing query plan
Updating Metadata
Catches and Tricks

Would be soon coming up on each [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=4&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yup! here are some points to look into when driving your feet into Data Services Platform Domain.</p>
<ul>
<li>What is DSP?</li>
<li><a href="http://sanchit6.wordpress.com/2008/03/09/hello-world/">Why DSP?</a></li>
<li><a href="http://sanchit6.wordpress.com/2008/03/27/what-is-a-data-service/">What is a Data Service?</a></li>
<li>The Installation.</li>
<li>Dataspace Project &amp; Components.</li>
<li>Importing datasource metadata.</li>
<li>Using design view &#8211; Creating logical components</li>
<li>Using source view &#8211; Writing Xquery</li>
<li>XQuery Basics</li>
<li>Testing and Viewing query plan</li>
<li>Updating Metadata</li>
<li>Catches and Tricks</li>
</ul>
<p>Would be soon coming up on each topic&#8230;!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=4&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/03/17/what-in-aqualogic-dsp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>Why Aqualogic Service Bus (ALSB)</title>
		<link>http://sanchit6.wordpress.com/2008/03/13/why-aqualogic-service-bus-alsb/</link>
		<comments>http://sanchit6.wordpress.com/2008/03/13/why-aqualogic-service-bus-alsb/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 21:05:36 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://sanchit6.wordpress.com/?p=3</guid>
		<description><![CDATA[Aqualogic Service Bus is a great product for development of SOA Services. It help us achieve dynamic routing, message processing, Exception Handling, Message Validations, blah blah blah&#8230;So lets get actually to the point where we say  why actually we need that.
Over the years, Service Oriented Architecture (SOA) has come up as a &#8220;big tag&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=3&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Aqualogic Service Bus is a great product for development of SOA Services. It help us achieve dynamic routing, message processing, Exception Handling, Message Validations, blah blah blah&#8230;So lets get actually to the point where we say  why actually we need that.</p>
<p>Over the years, Service Oriented Architecture (SOA) has come up as a &#8220;big tag&#8221; with in the Industry. What we see is, that, our Business requirements have grown many folds &amp; so has the time to deliver those requirements decreased. SOA can help our business respond to these fast paced market needs quickly. BEA Aqualogic SB  promises to make that happen. BEA ALSB accelerates the development and deployment of services. It simplifies the management of shared services across SOA. It promises to provide us with great message routing capabilities, support for multiple endpoints &amp; transports, security, monitoring &amp; auditing &amp; message transformation capabilities.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=3&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/03/13/why-aqualogic-service-bus-alsb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
		<item>
		<title>Why Aqualogic Data Services Platform(DSP)?</title>
		<link>http://sanchit6.wordpress.com/2008/03/09/hello-world/</link>
		<comments>http://sanchit6.wordpress.com/2008/03/09/hello-world/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 19:23:40 +0000</pubDate>
		<dc:creator>sanchit6</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[aldsp]]></category>
		<category><![CDATA[aqualogic]]></category>
		<category><![CDATA[bea]]></category>
		<category><![CDATA[data services platform]]></category>
		<category><![CDATA[dsp]]></category>
		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[BEA Aqualogic Data Services Platform (ALDSP), is a tool that can help you write data services. But wait.. what the hell is this data service? Well the concept is simple, why not expose data itself as a service.
Aldsp comes with some great features like ability to connect to different data sources like relational databases, xml [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=1&subd=sanchit6&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>BEA Aqualogic Data Services Platform (ALDSP), is a tool that can help you write data services. But wait.. what the hell is this data service? Well the concept is simple, why not expose data itself as a service.<br />
Aldsp comes with some great features like ability to connect to different data sources like relational databases, xml files, services, java functions, delimited files all together together with great efficiency to get its data. The concept of data services is extended further as Physical &amp; Logical DS. Physical DS are those which are created automatically when a data source metadata is imported. Such physical DS would thus expose functions that would enable us to get / insert / delete / update data in the underlying actual source. However that certainly is not enough when it comes to real life scenarios where we need data from different souces collated together in a logical format. Here comes the logical DS and the real beauty of DSP. Logical data services are those which we create and write logic that talks to different physical ds to output the data in a format which we want. But you don&#8217;t have to write a single piece of code to do that. DSP provides a graphical interface (known as query map) where we can drag and drop physical ds functions, graphically pass values, map input to output and thats all done! DSP automatically generates code in the background in xquery language. However as the logic gets more and more complex, the graphical way may not seem to be an easy way to continue. In that case its good to switch to xquery source and write some code&#8230;.DSP also uses an internal XQuery optimizer to make the generated SQL highly optimized.<br />
Hope that would help you.!!! contact me if you have some doubts with DSP. And do try it since its really good. Wait for my next post for a simple example on DSP and also a quick look into DSP.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sanchit6.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sanchit6.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sanchit6.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sanchit6.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sanchit6.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sanchit6.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sanchit6.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sanchit6.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sanchit6.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sanchit6.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sanchit6.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sanchit6.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sanchit6.wordpress.com&blog=3108692&post=1&subd=sanchit6&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sanchit6.wordpress.com/2008/03/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d026b43539326d574141d8ee42642134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sanchit6</media:title>
		</media:content>
	</item>
	</channel>
</rss>