blob: c8c2bd0a6ae1fca8b08b737300148ec10adf7e73 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<!-- $PAGETITLE -->
<TITLE>OpenEJB - Annotations, Defaults and XML</TITLE>
<LINK href="http://openejb.apache.org/default.css" rel="stylesheet" type="text/css">
<LINK href="http://openejb.apache.org/style.css" rel="stylesheet" type="text/css">
<LINK rel="SHORTCUT ICON" href="http://openejb.apache.org/images/favicon.ico">
<SCRIPT language="JavaScript" src="http://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=OPENEJB&title=functions.js" type="text/javascript"></SCRIPT>
<META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD>
<BODY bgcolor="#ffffff" link="#6763a9" vlink="#6763a9" topmargin="0" bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<!-- Delay the loading of the external javascript file needed for labels (as it takes too long to load and visibly holds loading of the page body) -->
<!-- To do this without javascript errors over undefined functions, we need to declare stubs here (that are overrided later by the proper implementations) -->
<SCRIPT language="JavaScript" type="text/javascript">
function doAddLabel(hideTextfieldAfterAddParam)
{
// stub
}
function onAddLabel()
{
// stub
}
function showLabelsInput()
{
// stub
}
</SCRIPT>
<A name="top"></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" height="400">
<TR>
<TD width="20" valign="top" align="left" bgcolor="#7270c2"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="1" border="0"></TD>
<TD width="95" valign="top" align="left" bgcolor="#7270c2"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="1" border="0"></TD>
<TD width="7" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" border="0" width="1" height="1"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="40" height="6" border="0"></TD>
<TD width="100%" valign="top" align="left" bgcolor="#5A5CB8"><IMG src="http://openejb.apache.org/images/top_2.gif" width="430" height="6" border="0"></TD>
<TD width="120" valign="top" align="left" bgcolor="#E24717"><IMG src="http://openejb.apache.org/images/top_3.gif" width="120" height="6" border="0"></TD>
</TR>
<TR>
<TD width="20" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" border="0" width="1" height="1"></TD>
<TD width="95" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" border="0" width="1" height="1"></TD>
<TD width="7" bgcolor="#ffffff" valign="top" align="left"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="1" border="0"></TD>
<TD id="breadcrumbs" width="100%" valign="middle" align="left">
<!-- $TOP_NAV_BAR -->
<SPAN id="Content">
<A href="index.html" title="Index">Index</A> | <A href="news.html" title="News">News</A> | <A href="faq.html" title="FAQ">FAQ</A> | <A href="download.html" title="Download">Download</A> | <A href="mailing-lists.html" title="Mailing Lists">Lists</A> | <SPAN class="nobr"><A href="http://issues.apache.org/jira/browse/OPENEJB" title="Visit page outside Confluence" rel="nofollow">Issues<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>
</SPAN>
<IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="2" border="0"></TD>
<TD width="120" height="20" valign="top" align="left">&nbsp;</TD>
</TR>
<TR>
<TD width="20" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="20" height="3" border="0"></TD>
<TD width="95" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://openejb.apache.org/images/line_sm.gif" width="105" height="3" border="0"></TD>
<TD width="7" bgcolor="#a9a5de" valign="top" align="left"><IMG src="http://openejb.apache.org/images/line_sm.gif" width="7" height="3" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://openejb.apache.org/images/line_light.gif" width="40" height="3" border="0"></TD>
<TD width="100%" valign="top" align="left"><IMG src="http://openejb.apache.org/images/line_light.gif" width="430" height="3" border="0"></TD>
<TD width="120" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" border="0" width="1" height="1"></TD>
</TR>
<TR>
<TD bgcolor="#7270c2" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="20" height="10" border="0"></TD>
<TD id="leftColumn" valign="top" style="padding-top: 0px;">
<SPAN id="Content">
<H3><A name="Navigation-Overview"></A>Overview</H3>
<UL class="alternate" type="square">
<LI><A href="index.html" title="Index">Home</A></LI>
<LI><A href="news.html" title="News">News</A></LI>
<LI><A href="faq.html" title="FAQ">FAQ</A></LI>
<LI><A href="download.html" title="Download">Download</A></LI>
<LI><A href="examples.html" title="Examples">Examples</A></LI>
<LI><A href="mailing-lists.html" title="Mailing Lists">Mailing Lists</A></LI>
<LI><A href="source-code.html" title="Source Code">Source Code</A></LI>
</UL>
<H3><A name="Navigation-General"></A>General</H3>
<UL class="alternate" type="square">
<LI><A href="deploy-tool.html" title="Deploy Tool">Deployment</A></LI>
<LI><A href="startup.html" title="Startup">Startup</A></LI>
<LI><A href="validation-tool.html" title="Validation Tool">Validation</A></LI>
<LI><A href="webadmin.html" title="Webadmin">Webadmin</A></LI>
</UL>
<H3><A name="Navigation-Configuration"></A>Configuration</H3>
<UL class="alternate" type="square">
<LI><A href="configuration.html" title="Configuration">General</A></LI>
<LI><A href="deployments.html" title="Deployments">Deployments</A></LI>
<LI><A href="containers.html" title="Containers">Containers</A></LI>
</UL>
<H3><A name="Navigation-Servers"></A>Servers</H3>
<UL class="alternate" type="square">
<LI><A href="local-server.html" title="Local Server">Local</A></LI>
<LI><A href="remote-server.html" title="Remote Server">Remote</A></LI>
</UL>
<H3><A name="Navigation-Integrations"></A>Integrations</H3>
<UL class="alternate" type="square">
<LI><A href="tomcat.html" title="Tomcat">Tomcat</A></LI>
<LI><A href="geronimo.html" title="Geronimo">Geronimo</A></LI>
<LI><A href="webobjects.html" title="WebObjects">WebObjects</A></LI>
</UL>
<H3><A name="Navigation-Community"></A>Community</H3>
<UL class="alternate" type="square">
<LI><A href="team.html" title="Team">Team</A></LI>
<LI><A href="articles.html" title="Articles">Articles</A></LI>
<LI><A href="annoyances.html" title="Annoyances">Annoyances</A></LI>
<LI><SPAN class="nobr"><A href="index.html" title="Visit page outside Confluence" rel="nofollow">Wiki<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
<LI><SPAN class="nobr"><A href="irc://irc.freenode.net/#openejb" title="Visit page outside Confluence" rel="nofollow">IRC<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
</UL>
</SPAN>
<H3 class="heading3">Feeds</H3>
<TABLE border="0" cellspacing="4px">
<TR>
<TD align="right">
<A href="http://cwiki.apache.org/confluence/spaces/rss.action?key=OPENEJB&newPages=false"><IMG src="http://openejb.apache.org/images/rss.gif" border="0"></A><BR>
</TD>
<TD align="left">
<A href="http://cwiki.apache.org/confluence/spaces/rss.action?key=OPENEJB&newPages=false">Site</A>
</TD>
</TR>
<TR>
<TD align="right">
<A href="http://cwiki.apache.org/confluence/spaces/blogrss.action?key=OPENEJB"><IMG src="http://openejb.apache.org/images/rss.gif" border="0"></A>
</TD>
<TD align="left">
<A href="http://cwiki.apache.org/confluence/spaces/blogrss.action?key=OPENEJB">News</A>
</TD>
</TR>
</TABLE>
</TD>
<TD width="7" bgcolor="#a9a5de" valign="top" align="left">&nbsp;</TD>
<TD width="40" valign="top" align="left">&nbsp;</TD>
<TD rowspan="4" width="100%" valign="top">
<TABLE cols="1" rows="2" border="0" cellpadding="0" cellspacing="0" width="100%">
<TR>
<TD valign="top" align="left"><BR>
<TABLE cols="3" rows="1" border="0" cellpadding="0" cellspacing="0" width="100%">
<TR>
<TD valign="top" width="200" align="left">
<A href="http://openejb.org/">
<IMG border="0" hspace="0" src="http://openejb.apache.org/images/logo_openejb.gif" vspace="0">
</A>
</TD>
<TD align="right" valign="middle" style="padding:0px;margin:0px;">
<TABLE style="padding:0px;margin:0px;">
<TR>
<TD>
<A href="http://www.apache.org/">
<IMG src="http://www.apache.org/images/asf-logo.gif" border="0" width="258" height="66">
</A>
</TD>
<TR>
<!--
<tr>
<td align="right" valign="top" style="font- size:12px;color:#777777">
[OpenEJB is a Podling in the Apache Incubator]
</td>
</tr>
-->
</TABLE>
</TD>
</TR>
</TABLE>
<BR>
</TD>
</TR>
<TR>
<TD valign="top" align="left">
<IMG border="0" height="7" hspace="0" src="http://openejb.apache.org/images/dotTrans.gif"><BR>
<DIV id="page_title">
<TABLE width="100%">
<TR>
<TD>
<!-- $TITLE -->
Annotations, Defaults and XML
</TD>
<!-- Google CSE Search Box Begins -->
<TD align="right">
<FORM id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
<INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
<INPUT type="hidden" name="cof" value="FORID:0">
<INPUT name="q" type="text" size="25">
<INPUT type="submit" name="sa" value="Search">
</FORM>
<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>
</TD>
<!-- Google CSE Search Box Ends -->
<TD align="right" style="padding-left:0px;"><A style="color:#999;font-size:small;font-weight:normal;" href="http://cwiki.apache.org/confluence/pages/editpage.action?spaceKey=OPENEJB&title=Annotations,%20Defaults%20and%20XML">[ edit ]</A></TD>
<TD align="right" width="25">
<SCRIPT type="text/javascript" language="javascript">
document.write('<a href="http://cwiki.apache.org/confluence/pages/viewpage');
document.write('.action?pageId=67493&decorator=printable">');
</SCRIPT>
<IMG src="http://cwiki.apache.org/confluence/images/icons/print_16.gif" height="16" width="16" border="0" align="absmiddle" title="Print"></A>
</TD>
</TR>
</TABLE>
</DIV>
<IMG border="0" height="1" hspace="0" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
</TR>
</TABLE>
<P>
<!-- $BODY -->
<DIV id="PageContent">
<DIV class="pagecontent">
<DIV class="wiki-content">
<TABLE class="confluenceTable"><TBODY>
<TR>
<TH class="confluenceTh"> Annotation </TH>
<TH class="confluenceTh"> xml element(s) </TH>
<TH class="confluenceTh"> default value </TH>
</TR>
<TR>
<TD class="confluenceTd"> @Stateless </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;session&gt;</LI>
<LI>&lt;ejb-class&gt;</LI>
<LI>&lt;session-type&gt;Stateless&lt;/session-type&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>name</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;ejb-name&gt; </TD>
<TD class="confluenceTd"> The simple name of the bean class. For <EM>org.acme.superfun.WidgetBean</EM> the ejb-name will be <B>WidgetBean</B> </TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>description</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;description&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>mappedName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;mapped-name&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @Stateful </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;session&gt;</LI>
<LI>&lt;ejb-class&gt;</LI>
<LI>&lt;session-type&gt;Stateful&lt;/session-type&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>name</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;ejb-name&gt; </TD>
<TD class="confluenceTd"> The simple name of the bean class. For <EM>org.acme.superfun.WidgetBean</EM> the ejb-name will be <B>WidgetBean</B> </TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>description</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;description&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>mappedName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;mapped-name&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @MessageDriven </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;message-driven&gt;</LI>
<LI>&lt;ejb-class&gt;</LI>
<LI>&lt;session-type&gt;Stateful&lt;/session-type&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>name</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;ejb-name&gt; </TD>
<TD class="confluenceTd"> The simple name of the bean class. For <EM>org.acme.superfun.WidgetBean</EM> the ejb-name will be <B>WidgetBean</B> </TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>description</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;description&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>mappedName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;mapped-name&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>messageListenerInterface</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;messaging-type&gt; </TD>
<TD class="confluenceTd"> The interface the bean class implements. When relying upon the default is illegal for the bean to implement more than one interface </TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>activationConfig[]</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;activation-config&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @ActivationConfigProperty </TD>
<TD class="confluenceTd"> &lt;activation-config-property&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>propertyName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;activation-config-property-name&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>propertyValue</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;activation-config-property-value&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @RemoteHome </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;home&gt;</LI>
<LI>&lt;remote&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"> The home is inspected to determine the value of &lt;remote&gt;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @LocalHome </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;local-home&gt;</LI>
<LI>&lt;local&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"> The local-home is inspected to determine the value of &lt;local&gt; </TD>
</TR>
<TR>
<TD class="confluenceTd"> @TransactionManagement </TD>
<TD class="confluenceTd"> &lt;transaction-type&gt; </TD>
<TD class="confluenceTd"> TransactionManagementType.CONTAINER </TD>
</TR>
<TR>
<TD class="confluenceTd"> @TransactionAttribute </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;container-transaction&gt;</LI>
<LI>&lt;transaction-attribute&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"> All method default to TransactionAttributeType.REQUIRED </TD>
</TR>
<TR>
<TD class="confluenceTd"> @RolesAllowed </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;method-permission&gt;</LI>
<LI>&lt;role-name&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @PermitAll </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;method-permission&gt;</LI>
<LI>&lt;unchecked&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"> All methods default to unchecked </TD>
</TR>
<TR>
<TD class="confluenceTd"> @DenyAll </TD>
<TD class="confluenceTd"> &lt;exclude-list&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @RunAs </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;security-identity&gt;</LI>
<LI>&lt;run-as&gt;</LI>
<LI>&lt;role-name&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @DeclareRoles </TD>
<TD class="confluenceTd"> &lt;security-role-ref&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @Interceptors </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;interceptor&gt;</LI>
<LI>&lt;interceptor-binding&gt;</LI>
<LI>&lt;interceptor-class&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @ExcludeDefaultInterceptors </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;interceptor-binding&gt;</LI>
<LI>&lt;exclude-default-interceptors&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @ExcludeClassInterceptors </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;interceptor-binding&gt;</LI>
<LI>&lt;exclude-class-interceptors&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @AroundInvoke </TD>
<TD class="confluenceTd"> &lt;around-invoke&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @PostConstruct </TD>
<TD class="confluenceTd"> &lt;post-construct&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @PreDestroy </TD>
<TD class="confluenceTd"> &lt;pre-destroy&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @PrePassivate </TD>
<TD class="confluenceTd"> &lt;pre-passivate&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @PostActivate </TD>
<TD class="confluenceTd"> &lt;post-activate&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @Init </TD>
<TD class="confluenceTd"> &lt;init-method&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @Remove </TD>
<TD class="confluenceTd"> &lt;remove-method&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>retainIfException</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;retain-if-exception&gt; </TD>
<TD class="confluenceTd"> false </TD>
</TR>
<TR>
<TD class="confluenceTd"> @Timeout </TD>
<TD class="confluenceTd"> &lt;timeout-method&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"> @ApplicationException </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;application-exception&gt;</LI>
<LI>&lt;exception-class&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>rollback</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;rollback&gt; </TD>
<TD class="confluenceTd"> false </TD>
</TR>
<TR>
<TD class="confluenceTd"> @EJB </TD>
<TD class="confluenceTd"><UL>
<LI>&lt;ejb-ref&gt;</LI>
<LI>&lt;ejb-local-ref&gt;</LI>
<LI>&lt;injection-target&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>name</LI>
</UL>
</TD>
<TD class="confluenceTd"><UL>
<LI>&lt;ejb-ref-name&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"><UL>
<LI>on class: illegal to leave undefined</LI>
<LI>on field: {className}/{fieldName} as in <B>org.superbiz.Widget/myEjb</B></LI>
<LI>on setter: {className}/{propertyName} as in setMyEjb() defaults to <B>org.superbiz.Widget/myEjb</B></LI>
</UL>
</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>beanInterface</LI>
</UL>
</TD>
<TD class="confluenceTd"><UL>
<LI>&lt;home&gt;</LI>
<LI>&lt;local-home&gt;</LI>
<LI>&lt;remote&gt;</LI>
<LI>&lt;local&gt;</LI>
</UL>
</TD>
<TD class="confluenceTd"><UL>
<LI>on class: illegal to leave undefined</LI>
<LI>on field: the data type of the field</LI>
<LI>on setter: the data type of the first method param</LI>
</UL>
</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>beanName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;ejb-link&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>description</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;description&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
<TR>
<TD class="confluenceTd"><UL class="alternate" type="square">
<LI>mappedName</LI>
</UL>
</TD>
<TD class="confluenceTd"> &lt;mapped-name&gt; </TD>
<TD class="confluenceTd">&nbsp;</TD>
</TR>
</TBODY></TABLE>
<P>@EJB used on a class replaces &lt;ejb-ref&gt; and &lt;ejb-local-ref&gt;. @EJB used on a field or setter method (private or public) request injection of that EJB as well. When @EJB is used on a class the &quot;beanInterface&quot; attribute is required. When used on a field or setter method, the &quot;beanInterface&quot; attribute defaults to the type of the field or setter method.</P>
<P>@Resource used on a class replaces &lt;env-entry&gt;, &lt;resource-ref&gt;, &lt;resource-env-ref&gt;. @Resource used on a field or method (private or public) requests injection of that resource. When @Resource is used on a class, the &quot;type&quot; attribute is required. When used on a field or method, the &quot;type&quot; attribute defaults to the type of the field or setter method.</P>
<P>There are more annotations obviously, but these are fairly simple and get rid of a ton of xml.</P>
</DIV>
</DIV>
</DIV>
</P>
</TD>
</TR>
<TR height="5">
<TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left">&nbsp;</TD>
<TD width="95" height="5" bgcolor="#7270c2" valign="top">&nbsp;</TD>
<TD width="7" height="5" bgcolor="#a9a5de" valign="top" align="left">&nbsp;</TD>
<TD width="40" height="5" valign="top" align="left">&nbsp;</TD>
<TD width="120" height="5" valign="top" align="left">&nbsp;</TD>
</TR>
<TR>
<TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left">&nbsp;</TD>
<TD width="95" bgcolor="#7270c2" valign="BOTTOM" align="left">&nbsp;</TD>
<TD width="7" bgcolor="#a9a5de" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="120" valign="top" align="left">&nbsp;</TD>
</TR>
<TR>
<TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left">&nbsp;</TD>
<TD width="95" bgcolor="#7270c2" valign="BOTTOM" align="left">&nbsp;</TD>
<TD width="7" bgcolor="#a9a5de" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://openejb.apache.org/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="120" valign="top" align="left">&nbsp;</TD>
</TR>
<TR height="5">
<TD width="20" rowspan="2" height="100%" bgcolor="#7270c2" valign="bottom" align="left"><IMG src="http://openejb.apache.org/images/stripes1.gif" width="20" height="125" border="0"></TD>
<TD width="95" rowspan="2" height="100%" bgcolor="#7270c2" valign="bottom" align="left"><IMG src="http://openejb.apache.org/images/stripe105.gif" width="105" height="125" border="0"></TD>
<TD width="7" rowspan="2" height="100%" bgcolor="#a9a5de" valign="top" align="left">&nbsp;</TD>
<TD width="40" height="100%" valign="top" align="left">&nbsp;</TD>
<TD width="120" height="100%" valign="top" align="left">&nbsp;</TD>
</TR>
<TR height="5">
<TD width="40" height="25" valign="top" align="left">&nbsp;</TD>
<TD width="100%" height="25" valign="bottom" align="left"><BR>
<BR>
<IMG src="http://openejb.apache.org/images/line_light.gif" border="0" width="430" height="3"><BR>
<P>
</P>
<SPAN class="bodyGrey">
<SMALL><NOTICE><!-- $FOOTER -->
Apache OpenEJB is an project of The Apache Software Foundation (ASF)
</NOTICE> <BR>
&nbsp;<BR>
Powered by <A href="http://atlassian.com/">Atlassian</A> <A href="http://atlassian.com/confluence/">Confluence</A>.
</SMALL>
</SPAN>
<P>
</P>
</TD>
<TD width="120" height="25" valign="top" align="left">&nbsp;</TD>
</TR>
</TABLE>
<!-- Needed for composition plugin -->
<!-- delay the loading of large javascript files to the end so that they don't interfere with the loading of page content -->
<SPAN style="display: none">
<SCRIPT type="text/javascript" language="JavaScript" src="http://cwiki.apache.org/confluence/labels-javascript"></SCRIPT>
</SPAN>
</BODY>
</HTML>