blob: 41a32e458d402e31bdb5c8926c77c8be85cf4631 [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 - Tomcat Manual Installation</TITLE>
<LINK href="http://incubator.apache.org/openejb/default.css" rel="stylesheet" type="text/css">
<LINK href="http://incubator.apache.org/openejb/style.css" rel="stylesheet" type="text/css">
<LINK rel="SHORTCUT ICON" href="http://incubator.apache.org/openejb/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">
<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://incubator.apache.org/openejb/images/dotTrans.gif" width="1" height="1" border="0"></TD>
<TD width="95" valign="top" align="left" bgcolor="#7270c2"><IMG src="http://incubator.apache.org/openejb/images/dotTrans.gif" width="1" height="1" border="0"></TD>
<TD width="7" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/dotTrans.gif" border="0" width="1" height="1"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/dotTrans.gif" width="40" height="6" border="0"></TD>
<TD width="100%" valign="top" align="left" bgcolor="#5A5CB8"><IMG src="http://incubator.apache.org/openejb/images/top_2.gif" width="430" height="6" border="0"></TD>
<TD width="120" valign="top" align="left" bgcolor="#E24717"><IMG src="http://incubator.apache.org/openejb/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://incubator.apache.org/openejb/images/dotTrans.gif" border="0" width="1" height="1"></TD>
<TD width="95" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/images/dotTrans.gif" width="20" height="3" border="0"></TD>
<TD width="95" bgcolor="#7270c2" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/line_sm.gif" width="105" height="3" border="0"></TD>
<TD width="7" bgcolor="#a9a5de" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/line_sm.gif" width="7" height="3" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/line_light.gif" width="40" height="3" border="0"></TD>
<TD width="100%" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/line_light.gif" width="430" height="3" border="0"></TD>
<TD width="120" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/images/dotTrans.gif" border="0" width="1" height="1"></TD>
</TR>
<TR>
<TD bgcolor="#7270c2" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/images/dotTrans.gif"><BR>
<DIV id="page_title">
<TABLE width="100%">
<TR>
<TD>
<!-- $TITLE -->
Tomcat Manual Installation
</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=Tomcat%20Manual%20Installation">[ 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=66825&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://incubator.apache.org/openejb/images/dotTrans.gif"></TD>
</TR>
</TABLE>
<P>
<!-- $BODY -->
<DIV id="PageContent">
<DIV class="pagecontent">
<DIV class="wiki-content">
<H1><A name="TomcatManualInstallation-Installopenejb.war"></A><A name="TomcatManualInstallation-installopenejb"></A>Install openejb.war</H1>
<P>Once Tomcat has been <A href="tomcat-installation.html" title="Tomcat Installation">installed</A>, the OpenEJB plugin for Tomcat can be installed. The commands in this example are executed from within the Tomcat installation directory.</P>
<H2><A name="TomcatManualInstallation-UnpackOpenEJBTomcatplugininTomcatwebappsdirectory"></A>Unpack OpenEJB Tomcat plugin in Tomcat webapps directory</H2>
<TABLE cellpadding="5" width="85%" cellspacing="8px" class="warningMacro" border="0" align="center"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B class="strong">Be Careful</B><BR>This is the most error prone step. A web application does not contain a root directory, so if you unpack it in the wrong directory, it is difficult to undo. Please, follow this step closely, and most importantly <B>make sure you execute the unpack command from within the new webapps/openejb directory</B>.</TD></TR></TABLE>
<P>Due to the structure of war files, you must create a new directory for OpenEJB, change to the new directory and execute the unpack command from within the new directory. If you get this wrong, it is difficult to undo, so follow the steps closely.</P>
<DIV id="deck:unpack tomcat" class="deck" tablocation="top" style="display: none" loopcards="false"><DIV class="cards tabbed">
<DIV class="card" label="Windows" labelrendered="Windows"><PRE>C:\apache-tomcat-6.0.14&gt;mkdir webapps\openejb
C:\apache-tomcat-6.0.14&gt;cd webapps\openejb
C:\apache-tomcat-6.0.14\webapps\openejb&gt;jar -xvf \openejb.war
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/org/
created: WEB-INF/classes/org/apache/
created: WEB-INF/classes/org/apache/openejb/
...snip...
C:\apache-tomcat-6.0.14\webapps\openejb&gt;dir
Volume in drive C has no label.
Volume Serial Number is 0000-0000
Directory of C:\apache-tomcat-6.0.14\webapps\openejb
09/21/2007 10:19 AM &lt;DIR&gt; .
09/21/2007 10:19 AM &lt;DIR&gt; ..
09/21/2007 10:19 AM 1,000 index.html
09/21/2007 10:19 AM &lt;DIR&gt; lib
09/21/2007 10:19 AM 11,358 LICENSE
09/21/2007 10:19 AM &lt;DIR&gt; META-INF
09/21/2007 10:19 AM 11,649 NOTICE
09/21/2007 10:19 AM 1,018 openejb.xml
09/21/2007 10:19 AM 1,886 README.txt
09/21/2007 10:19 AM &lt;DIR&gt; tomcat
09/21/2007 10:19 AM &lt;DIR&gt; WEB-INF
5 File(s) 26,911 bytes
6 Dir(s) 4,633,796,608 bytes free
C:\apache-tomcat-6.0.14\webapps\openejb&gt;cd ..\..
C:\apache-tomcat-6.0.14&gt;
</PRE></DIV>
<DIV class="card" label="Unix" labelrendered="Unix"><PRE>apache-tomcat-6.0.14$ mkdir webapps/openejb
apache-tomcat-6.0.14$ cd webapps/openejb/
apache-tomcat-6.0.14/webapps/openejb$ jar -xvf path/to/openejb.war
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/org/
created: WEB-INF/classes/org/apache/
created: WEB-INF/classes/org/apache/openejb/
...snip...
apache-tomcat-6.0.14/webapps/openejb$ ls
LICENSE META-INF/ NOTICE README.txt WEB-INF/ index.html lib/ openejb.xml tomcat/
apache-tomcat-6.0.14/webapps/openejb$ cd ../..
apache-tomcat-6.0.14$
</PRE></DIV>
</DIV></DIV>
<H2><A name="TomcatManualInstallation-AddtheOpenEJBlistenertoTomcat"></A>Add the OpenEJB listener to Tomcat </H2>
<P>All Tomcat listener classes must be available in the Tomcat common class loader, so the openejb-loader jar must be copied into the Tomcat lib directory.</P>
<DIV id="deck:copy openejb loader" class="deck" tablocation="top" style="display: none" loopcards="false"><DIV class="cards tabbed">
<DIV class="card" label="Windows" labelrendered="Windows"><PRE>C:\apache-tomcat-6.0.14&gt;copy webapps\openejb\lib\openejb-loader-3.0.0-SNAPSHOT.jar lib\openejb-loader.jar
1 file(s) copied.
</PRE></DIV>
<DIV class="card" label="Unix" labelrendered="Unix"><PRE>apache-tomcat-6.0.14$ cp webapps/openejb/lib/openejb-loader-*.jar lib/openejb-loader.jar
</PRE></DIV>
</DIV></DIV>
<P>Add the following <SPAN class="" style="background-color: #FFFFC0;">highlighted lines</SPAN> to your conf/server.xml file to load the OpenEJB listener:</P>
<DIV class="panel"><DIV class="panelHeader"><B>conf/server.xml</B></DIV><DIV class="panelContent">
<P>&lt;!-- Note: A &quot;Server&quot; is not itself a &quot;Container&quot;, so you may not<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define subcomponents such as &quot;Valves&quot; at this level.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation at /docs/config/server.html<BR>
--&gt;<BR>
&lt;Server port=&quot;8005&quot; shutdown=&quot;SHUTDOWN&quot;&gt;<BR>
&nbsp;&nbsp;<SPAN class="" style="background-color: #FFFFC0;">&lt;!-- OpenEJB plugin for tomcat --&gt;</SPAN><BR>
&nbsp;&nbsp;<SPAN class="" style="background-color: #FFFFC0;">&lt;Listener className=&quot;org.apache.openejb.loader.OpenEJBListener&quot; /&gt;</SPAN></P>
<P>&nbsp;&nbsp;&lt;!--APR library loader. Documentation at /docs/apr.html --&gt;<BR>
&nbsp;&nbsp;&lt;Listener className=&quot;org.apache.catalina.core.AprLifecycleListener&quot; SSLEngine=&quot;on&quot; /&gt;<BR>
...snip...</P>
</DIV></DIV>
<H2><A name="TomcatManualInstallation-UpdatetheTomcatannotationsapi.jarfile"></A>Update the Tomcat annotations-api.jar file</H2>
<P>Tomcat contains an old non-compliant version of the javax.annotation classes and these invalid classes must be updated so OpenEJB can process annotations. Simply, replace the annotations-api.jar in the Tomcat lib directory with the updated annotations-api.jar in the OpenEJB war.</P>
<DIV id="deck:update annotations-api.jar" class="deck" tablocation="top" style="display: none" loopcards="false"><DIV class="cards tabbed">
<DIV class="card" label="Windows" labelrendered="Windows"><PRE>C:\apache-tomcat-6.0.14&gt;copy webapps\openejb\tomcat\annotations-api.jar lib\annotations-api.jar
Overwrite lib\annotations-api.jar? (Yes/No/All): y
1 file(s) copied.
</PRE></DIV>
<DIV class="card" label="Unix" labelrendered="Unix"><PRE>apache-tomcat-6.0.14$ cp webapps/openejb/tomcat/annotations-api.jar lib/annotations-api.jar
</PRE></DIV>
</DIV></DIV>
<H2><A name="TomcatManualInstallation-AddOpenEJBjavaagenttoTomcatstartup"></A>Add OpenEJB javaagent to Tomcat startup</H2>
<P>OpenJPA, the Java Persistence implementation used by OpenEJB, currently must enhanced persistence classes to function properly, and this requires the installation of a javaagent into the Tomcat startup process.</P>
<P>First, copy the OpenEJB JavaAgent jar into the lib directory.</P>
<DIV id="deck:unpack tomcat" class="deck" tablocation="top" style="display: none" loopcards="false"><DIV class="cards tabbed">
<DIV class="card" label="Windows" labelrendered="Windows"><PRE>C:\apache-tomcat-6.0.14&gt;copy webapps\openejb\lib\openejb-javaagent-3.0.0-SNAPSHOT.jar lib\openejb-javaagent.jar
1 file(s) copied.
</PRE></DIV>
<DIV class="card" label="Unix" labelrendered="Unix"><PRE>apache-tomcat-6.0.14$ cp webapps/openejb/lib/openejb-javaagent-*.jar lib/openejb-javaagent.jar
</PRE></DIV>
</DIV></DIV>
<P>Simply, add the following <SPAN class="" style="background-color: #FFFFC0;">highlighted lines</SPAN> to the bin/catalina.bat (Windows) or bin/catalina.sh (Unix) file to enable the OpenEJB javaagent:</P>
<DIV id="deck:update script" class="deck" tablocation="top" style="display: none" loopcards="false"><DIV class="cards tabbed">
<DIV class="card" label="Windows" labelrendered="Windows">
<DIV class="panel"><DIV class="panelHeader"><B>bin/catalina.bat</B></DIV><DIV class="panelContent">
<P>...snip...<BR>
if not exist &quot;%CATALINA_BASE%\conf\logging.properties&quot; goto noJuli<BR>
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=&quot;%CATALINA_BASE%\conf\logging.properties&quot;<BR>
:noJuli</P>
<SPAN class="" style="background-color: #FFFFC0;">rem Add OpenEJB javaagent<BR>
if not exist &quot;%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar&quot; goto noOpenEJBJavaagent<BR>
set JAVA_OPTS=&quot;-javaagent:%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar&quot; %JAVA_OPTS%<BR>
:noOpenEJBJavaagent</SPAN>
<P>rem ----- Execute The Requested Command ---------------------------------------</P>
<P>echo Using CATALINA_BASE: %CATALINA_BASE%<BR>
echo Using CATALINA_HOME: %CATALINA_HOME%<BR>
...snip...</P>
</DIV></DIV>
</DIV>
<DIV class="card" label="Unix" labelrendered="Unix">
<DIV class="panel"><DIV class="panelHeader"><B>bin/catalina.sh</B></DIV><DIV class="panelContent">
<P>...snip...<BR>
&#35; Set juli LogManager if it is present<BR>
if [ -r &quot;$CATALINA_BASE&quot;/conf/logging.properties ]; then<BR>
&nbsp;&nbsp;JAVA_OPTS=&quot;$JAVA_OPTS &quot;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager&quot; &quot;-Djava.util.logging.config.file=&quot;$CATALINA_BASE/conf/logging.properties&quot;<BR>
fi</P>
<SPAN class="" style="background-color: #FFFFC0;">&#35; Add OpenEJB javaagent<BR>
if [ -r &quot;$CATALINA_BASE&quot;/webapps/lib/openejb-javaagent.jar ]; then<BR>
&nbsp;&nbsp;JAVA_OPTS=&quot;&quot;-javaagent:$CATALINA_BASE/lib/openejb-javaagent.jar&quot; $JAVA_OPTS&quot;<BR>
fi</SPAN>
<P>&#35; ----- Execute The Requested Command -----------------------------------------</P>
<P>&#35; Bugzilla 37848: only output this if we have a TTY<BR>
if [ $have_tty -eq 1 ]; then<BR>
&nbsp;&nbsp;echo &quot;Using CATALINA_BASE: $CATALINA_BASE&quot;<BR>
...snip...</P>
</DIV></DIV>
</DIV>
</DIV></DIV>
<P><B>NOTE:</B> The example above is an excerpt from the middle of the bin/catalina.sh file. Search for &quot;Execute&quot; in the file to locate the correct position in the file to add the new lines.</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://incubator.apache.org/openejb/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/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://incubator.apache.org/openejb/images/dotTrans.gif" width="1" height="25" border="0"></TD>
<TD width="40" valign="top" align="left"><IMG src="http://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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://incubator.apache.org/openejb/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>
</BODY>
</HTML>