<?xml version="1.0"?><rss version="2.0">
<channel>
  <title>Java Beans dot Asia - stateless beans category</title>
  <link>http://javabeans.asia/categories/beans/stateless_beans/</link>
  <description>Just a few simple tutorials</description>
  <language>en</language>
  <copyright>Alexander Zagniotov</copyright>
  <lastBuildDate>Tue, 23 Feb 2010 11:04:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  <image>
    <url>/images/blog-image.jpg</url>
    <title>Java Beans dot Asia (stateless beans category)</title>
    <link>http://javabeans.asia/</link>
  </image>
  <item>
    <title>Stateless beans and annotations</title>
    <link>http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html</link>
	 <description>
        Since EJB 3.0, it is possible to use &lt;a target=&#034;_blank&#034; href=&#034;http://java.sun.com/developer/technicalArticles/releases/j2se15/&#034;&gt;JDK 5.0 metadata annotations&lt;/a&gt; to create EJB 3.0 Java beans. This makes the development very easy. The only drawback here as I see it, that in case when you want to change/add/remove annotation you actually have to recompile the class. &lt;br /&gt;
&lt;br /&gt;
The example below shows how to create a stateless enterprise Java bean using annotations. The bean implements remote interface.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;The interface:&lt;/strong&gt;&lt;br /&gt;
&lt;pre class=&#034;java:nocontrols:firstline[1]&#034; name=&#034;code&#034;&gt;package com.test.stateless.interfaces;&lt;br /&gt;&lt;br /&gt;import javax.ejb.Remote;&lt;br /&gt;&lt;br /&gt;@Remote&lt;br /&gt;public interface StatelessTestRemote {&lt;br /&gt;	&lt;br /&gt;	public void doSomething();&lt;br /&gt;}&lt;/pre&gt;
Annotation &amp;quot;&lt;em&gt;Remote&lt;/em&gt;&amp;quot; specifies that the class is remote interface of the bean.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;The bean:&lt;/strong&gt;&lt;br /&gt;
&lt;pre class=&#034;java:nocontrols:firstline[1]&#034; name=&#034;code&#034;&gt;package com.test.stateless.beans;&lt;br /&gt;&lt;br /&gt;import javax.ejb.Stateless;&lt;br /&gt;import org.jboss.annotation.ejb.RemoteBinding;&lt;br /&gt;import com.test.stateless.interfaces.StatelessTestRemote;&lt;br /&gt;&lt;br /&gt;@Stateless&lt;br /&gt;@RemoteBinding(jndiBinding = &lt;br /&gt;    &amp;quot;com/test/stateless/beans/StatelessTestBean/remote&amp;quot;)&lt;br /&gt;&lt;br /&gt;public class StatelessTestBean &lt;br /&gt;		implements StatelessTestRemote {&lt;br /&gt;&lt;br /&gt;	public void doSomething()  {&lt;br /&gt;&lt;br /&gt;	}&lt;br /&gt;}&lt;/pre&gt;
Annotation &amp;quot;&lt;em&gt;Stateless&lt;/em&gt;&amp;quot; specifies that the class is stateless bean.&lt;br /&gt;
Annotation &amp;quot;&lt;em&gt;RemoteBinding&lt;/em&gt;&amp;quot; specifies JNDI name for the interface.&lt;br /&gt;
&lt;br /&gt;
Keep in mind, that you can use @Remote in implementation bean itself, and it doesnt have to be inside the interface class. For example:
&lt;pre class=&#034;java:nocontrols:firstline[1]&#034; name=&#034;code&#034;&gt;@Stateless&lt;br /&gt;@Remote ({StatelessTestRemote.class})&lt;br /&gt;@RemoteBinding(jndiBinding = &lt;br /&gt;    &amp;quot;com/test/stateless/beans/StatelessTestBean/remote&amp;quot;)&lt;br /&gt;&lt;br /&gt;public class StatelessTestBean &lt;br /&gt;		   implements StatelessTestRemote {&lt;/pre&gt;
Thats it :)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update:&lt;br /&gt;
&lt;/strong&gt;As &lt;a href=&#034;http://weblogs.java.net/blog/ljnelson&#034; target=&#034;_blank&#034; title=&#034;http://weblogs.java.net/blog/ljnelson&#034; rel=&#034;nofollow&#034;&gt;Laird Nelson&lt;/a&gt; has pointed out in his response to this post, it is possible to override annotations in the XML descriptor. I looked into it, and yes indeed - EJB 3.0 allows to override the behavior of annotations in the source code. Although there are some limitations which annotations can be overridden. You can refer to article &lt;a href=&#034;http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/partial_deployment_descriptors.html&#034; target=&#034;_blank&#034;&gt;JBoss EJB 3.0 partial deployment descriptors&lt;/a&gt; to find more detailed explanation about it :)&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;t=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;t=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/03/deployment_of_mbean_separately_to_its_interface.html&#034; rel=&#034;bookmark&#034; title=&#034;Deployment of mbean separately to its interface&#034;&gt;Deployment of mbean separately to its interface&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/08/jboss_clustering_hasingleton_service.html&#034; rel=&#034;bookmark&#034; title=&#034;JBoss Clustering - HASingleton service&#034;&gt;JBoss Clustering - HASingleton service&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/14/jboss_clustering_how_many_nodes_in_the_cluster.html&#034; rel=&#034;bookmark&#034; title=&#034;JBoss Clustering - How many nodes in the cluster?&#034;&gt;JBoss Clustering - How many nodes in the cluster?&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/16/jboss_clustering_shared_state_across_cluster_partition.html&#034; rel=&#034;bookmark&#034; title=&#034;JBoss Clustering - Shared state across cluster partition&#034;&gt;JBoss Clustering - Shared state across cluster partition&lt;/a&gt;&lt;br /&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/31/jboss_clustering_architecture_distributed_replicant_manager.html&#034; rel=&#034;bookmark&#034; title=&#034;JBoss Clustering Architecture - Distributed Replicant Manager&#034;&gt;JBoss Clustering Architecture - Distributed Replicant Manager&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<!--
    <description>
          Since EJB 3.0, it is possible to use JDK 5.0 metadata annotations to create EJB 3.0 Java beans. This makes the development very easy. The only drawback here as I see it, that in case when you want to change/add/remove annotation you actually have to recompile the class.   The example below shows how to create a ...&lt;p&gt;&lt;a href=&#034;http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;&lt;div class=&#034;tags&#034;&gt;&lt;span&gt;Social Bookmarks : &lt;/span&gt;&amp;nbsp;&lt;a href=&#034;http://slashdot.org/bookmark.pl?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Slash Dot&#034;&gt;&lt;img src=&#034;common/images/slashdot.png&#034; alt=&#034;Add this post to Slashdot&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://digg.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Digg this post&#034;&gt;&lt;img src=&#034;common/images/digg.png&#034; alt=&#034;Add this post to Digg&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://reddit.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Reddit&#034;&gt;&lt;img src=&#034;common/images/reddit.png&#034; alt=&#034;Add this post to Reddit&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://del.icio.us/post?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Save this post to Del.icio.us&#034;&gt;&lt;img src=&#034;common/images/delicious.png&#034; alt=&#034;Add this post to Delicious&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.stumbleupon.com/submit?url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Stumble this post&#034;&gt;&lt;img src=&#034;common/images/stumbleupon.png&#034; alt=&#034;Add this post to Stumble it&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Google&#034;&gt;&lt;img src=&#034;common/images/google.png&#034; alt=&#034;Add this post to Google&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://technorati.com/faves?add=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Technorati&#034;&gt;&lt;img src=&#034;common/images/technorati.png&#034; alt=&#034;Add this post to Technorati&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.bloglines.com/sub/http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Bloglines&#034;&gt;&lt;img src=&#034;common/images/bloglines.png&#034; alt=&#034;Add this post to Bloglines&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.facebook.com/share.php?u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&#034; target=&#034;_blank&#034; title=&#034;Add this post to Facebook&#034;&gt;&lt;img src=&#034;common/images/facebook.png&#034; alt=&#034;Add this post to Facebook&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://www.furl.net/storeIt.jsp?u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;t=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Furl&#034;&gt;&lt;img src=&#034;common/images/furl.png&#034; alt=&#034;Add this post to Furl&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;amp;url=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;title=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Windows Live&#034;&gt;&lt;img src=&#034;common/images/windowslive.png&#034; alt=&#034;Add this post to Windows Live&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&#034;http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;amp;u=http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html&amp;amp;t=Stateless beans and annotations&#034; target=&#034;_blank&#034; title=&#034;Add this post to Yahoo!&#034;&gt;&lt;img src=&#034;common/images/yahoo.png&#034; alt=&#034;Add this post to Yahoo!&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
      
	-->
    <category>beans</category>
    <category>stateless beans</category>
    <comments>http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html#comments</comments>
    <guid isPermaLink="true">http://javabeans.asia/2008/05/11/stateless_beans_and_annotations.html</guid>
    <pubDate>Sat, 10 May 2008 16:17:00 GMT</pubDate>
  </item>
  </channel>
</rss>
