| |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <HTML> |
| <HEAD> |
| <!-- $PAGETITLE --> |
| <TITLE>OpenEJB - Deployments</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"> </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="" 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"> </TD> |
| <TD width="40" valign="top" align="left"> </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 --> |
| Deployments |
| </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=Deployments">[ 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=26501&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"> |
| <H1><A name="Deployments-The%27Deployments%27elementinopenejb.conf"></A>The 'Deployments' element in openejb.conf</H1> |
| |
| <H2><A name="Deployments-Asinglejar"></A>A single jar</H2> |
| |
| <P>To include a single jar by name, just declare a 'Deployments' element with a 'jar' attribute pointing to the jar file on the file system.</P> |
| |
| <DIV class="code"><DIV class="codeHeader"><B>openejb.conf</B></DIV><DIV class="codeContent"> |
| <PRE class="code-xml"><SPAN class="code-tag"><openejb></SPAN> |
| ... |
| <SPAN class="code-tag"><Deployments jar=<SPAN class="code-quote">"c:\my\app\superEjbs.jar"</SPAN> /></SPAN> |
| <SPAN class="code-tag"><Deployments jar=<SPAN class="code-quote">"c:\someplace\purchasing.jar"</SPAN> /></SPAN> |
| <SPAN class="code-tag"><Deployments jar=<SPAN class="code-quote">"timeTrack.jar"</SPAN> /></SPAN> |
| <SPAN class="code-tag"></openejb></SPAN></PRE> |
| </DIV></DIV> |
| |
| <P>The last element in the example uses a relative path to point to the ejb jar. This path will be resolved relative to the openejb.base property. So, for example, of the value of openejb.base was 'c:\timeapp\' then OpenEJB would look for the jar 'c:\timeapp\timeTrack.jar'. See the <A href="configuration.html" title="Configuration">OPENEJB:Configuration</A> guide for more details.</P> |
| |
| <H2><A name="Deployments-Adirectoryofjars"></A>A directory of jars</H2> |
| |
| <P>To point to a directory that contains several jar files that OpenEJB should load, simply declare a 'Deployments' element with a 'dir' attribute pointing to the directory containing the jar files.</P> |
| |
| <DIV class="code"><DIV class="codeHeader"><B>openejb.conf</B></DIV><DIV class="codeContent"> |
| <PRE class="code-xml"><SPAN class="code-tag"><openejb></SPAN> |
| ... |
| |
| <SPAN class="code-tag"><Deployments dir=<SPAN class="code-quote">"c:\my\app\beans\"</SPAN> /></SPAN> |
| <SPAN class="code-tag"><Deployments dir=<SPAN class="code-quote">"c:\crimestopper\lib"</SPAN> /></SPAN> |
| <SPAN class="code-tag"><Deployments dir=<SPAN class="code-quote">"ejbs"</SPAN> /></SPAN> |
| <SPAN class="code-tag"><Deployments dir=<SPAN class="code-quote">"beans"</SPAN> /></SPAN> |
| <SPAN class="code-tag"></openejb></SPAN></PRE> |
| </DIV></DIV> |
| |
| <P>The directories listed will be searched for jars containing 'META-INF/ejb-jar.xml' files and will be added to the list of jars to load if they do. Better said, it's completely save to point to a directory containing a mix of ejbs and regular jar files. OpenEJB will simply skip over jars that do contain the required 'META-INF/ejb-jar.xml' file.</P> |
| |
| <P>The last Deployments element declares a 'beans' directory relative to openejb.base for holding ejb jars. This declaration is simply convention and not required.</P> |
| |
| <H2><A name="Deployments-Anunpackedjar"></A>An unpacked jar</H2> |
| |
| <P>As of 1.0 beta1, OpenEJB supports unpacked ejb jars. Simply meaning that you don't need to pack your ejb's into a jar file in order to use them in OpenEJB. You still need to follow the ejb jar layout and include an "META-INF/ejb-jar.xml" in the directory that contains your ejbs.</P> |
| |
| <P>For example, if you have a directory structure like this:</P> |
| |
| <BLOCKQUOTE> |
| <P>C:\myapp\<BR> |
| C:\myapp\acmeEjbs\<BR> |
| C:\myapp\acmeEjbs\META-INF\ejb-jar.xml<BR> |
| C:\myapp\acmeEjbs\org\acme\Foo.class<BR> |
| C:\myapp\acmeEjbs\org\acme\FooBean.class<BR> |
| C:\myapp\acmeEjbs\org\acme\FooHome.class<BR> |
| C:\myapp\acmeEjbs\org\acme\Bar.class<BR> |
| C:\myapp\acmeEjbs\org\acme\BarBean.class<BR> |
| C:\myapp\acmeEjbs\org\acme\BarHome.class</P></BLOCKQUOTE> |
| |
| <P>Then you would delcare a 'Deployments' element with the 'dir' attribute set to 'C:\myapp\acmeEjbs' as shown below.</P> |
| |
| <DIV class="code"><DIV class="codeHeader"><B>openejb.conf</B></DIV><DIV class="codeContent"> |
| <PRE class="code-xml"><SPAN class="code-tag"><openejb></SPAN> |
| ... |
| |
| <SPAN class="code-tag"><Deployments dir=<SPAN class="code-quote">"c:\myapp\acmeEjbs"</SPAN> /></SPAN> |
| <SPAN class="code-tag"></openejb></SPAN></PRE> |
| </DIV></DIV> |
| |
| <P>Note that this syntax is the same as the directory syntax above. If OpenEJB finds a META-INF directory with an 'ejb-jar.xml' fine inside, then OpenEJB will treat the directory as an unpacked ejb jar. Otherwise OpenEJB will look for ejb jar files to load as detailed in the above section.</P> |
| |
| <H1><A name="Deployments-Logfile"></A>Log file </H1> |
| |
| <P>When trying to figure out if your ejbs were loaded, the openejb.log file is an incredible asset.</P> |
| |
| <P>If your ejbs were loaded successfully you should see entries like the following (1.x and higher only):</P> |
| |
| <DIV class="panel"><DIV class="panelHeader"><B>openejb.log</B></DIV><DIV class="panelContent"> |
| <P>INFO : Loaded EJBs from /usr/local/openejb-1.0-beta1/beans/openejb-itests-beans.jar<BR> |
| INFO : Loaded EJBs from /usr/local/openejb-1.0-beta1/beans/openejb-webadmin-clienttools.jar</P> |
| </DIV></DIV> |
| |
| <P>If your ejbs failed to load, you will see an entry similar to the following.</P> |
| |
| <DIV class="panel"><DIV class="panelHeader"><B>openejb.log</B></DIV><DIV class="panelContent"> |
| <P>WARN : Jar not loaded. /usr/local/openejb-1.0-beta1/beans/helloworld.jar. Jar failed validation. Use the validation tool for more details</P> |
| </DIV></DIV> |
| |
| <P>Additionally, all the successfully loaded ejbs are individually listed in the log file at startup. The Deployment ID listed is the JNDI name used to lookup the ejb from a client of the Local or Remote Servers. The beans listed below are from our test suite.</P> |
| |
| <DIV class="preformatted"><DIV class="preformattedContent"> |
| <PRE>DEBUG: Deployments : 19 |
| DEBUG: Type Deployment ID |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/RMI-over-IIOP/EJBHome |
| DEBUG: STATEFUL client/tests/stateful/EncBean |
| DEBUG: STATELESS client/tests/stateless/BeanManagedBasicStatelessHome |
| DEBUG: STATEFUL client/tests/stateful/BasicStatefulHome |
| DEBUG: STATELESS client/tests/stateless/EncBean |
| DEBUG: STATEFUL client/tests/stateful/BeanManagedTransactionTests/EJBHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/RMI-over-IIOP/EJBHome |
| DEBUG: STATEFUL client/tests/stateful/RMI-over-IIOP/EJBHome |
| DEBUG: STATELESS client/tests/stateless/BeanManagedTransactionTests/EJBHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/allowed_operations/EntityHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/EncBean |
| DEBUG: STATEFUL client/tests/stateful/BeanManagedBasicStatefulHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/BasicBmpHome |
| DEBUG: STATELESS client/tests/stateless/BasicStatelessHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/BasicCmpHome |
| DEBUG: STATELESS client/tools/DatabaseHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/allowed_operations/EntityHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/EncBean |
| DEBUG: STATELESS client/tests/stateless/RMI-over-IIOP/EJBHome |
| </PRE> |
| </DIV></DIV> |
| </DIV> |
| </DIV> |
| </DIV> |
| </P> |
| </TD> |
| |
| |
| |
| |
| </TR> |
| <TR height="5"> |
| <TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left"> </TD> |
| <TD width="95" height="5" bgcolor="#7270c2" valign="top"> </TD> |
| <TD width="7" height="5" bgcolor="#a9a5de" valign="top" align="left"> </TD> |
| <TD width="40" height="5" valign="top" align="left"> </TD> |
| <TD width="120" height="5" valign="top" align="left"> </TD> |
| </TR> |
| <TR> |
| <TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left"> </TD> |
| <TD width="95" bgcolor="#7270c2" valign="BOTTOM" align="left"> </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"> </TD> |
| </TR> |
| <TR> |
| <TD width="20" height="5" bgcolor="#7270c2" valign="top" align="left"> </TD> |
| <TD width="95" bgcolor="#7270c2" valign="BOTTOM" align="left"> </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"> </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"> </TD> |
| <TD width="40" height="100%" valign="top" align="left"> </TD> |
| <TD width="120" height="100%" valign="top" align="left"> </TD> |
| </TR> |
| <TR height="5"> |
| <TD width="40" height="25" valign="top" align="left"> </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> |
| <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"> </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> |
| |
| <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript"> |
| </SCRIPT> |
| <SCRIPT type="text/javascript"> |
| _uacct = "UA-2717626-1"; |
| urchinTracker(); |
| </SCRIPT> |
| </SPAN> |
| |
| </BODY> |
| </HTML> |