<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Apache TomEE</title>
	<meta name="description"
		  content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
	<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
	<meta name="author" content="Luka Cvetinovic for Codrops" />
	<link rel="icon" href="favicon.ico">
	<link rel="icon"  type="image/png" href="favicon.png">
	<meta name="msapplication-TileColor" content="#80287a">
	<meta name="theme-color" content="#80287a">
	<link rel="stylesheet" type="text/css" href="css/normalize.css">
	<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
	<link rel="stylesheet" type="text/css" href="css/owl.css">
	<link rel="stylesheet" type="text/css" href="css/animate.css">
	<link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.1.0/css/font-awesome.min.css">
	<link rel="stylesheet" type="text/css" href="fonts/eleganticons/et-icons.css">
	<link rel="stylesheet" type="text/css" href="css/jqtree.css">
	<link rel="stylesheet" type="text/css" href="css/idea.css">
	<link rel="stylesheet" type="text/css" href="css/cardio.css">

	<script type="text/javascript">
		<!-- Matomo -->
		var _paq = window._paq = window._paq || [];
		/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
		/* We explicitly disable cookie tracking to avoid privacy issues */
		_paq.push(['disableCookies']);
		_paq.push(['trackPageView']);
		_paq.push(['enableLinkTracking']);
		(function () {
			var u = "//matomo.privacy.apache.org/";
			_paq.push(['setTrackerUrl', u + 'matomo.php']);
			_paq.push(['setSiteId', '5']);
			var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
			g.async = true;
			g.src = u + 'matomo.js';
			s.parentNode.insertBefore(g, s);
		})();
		<!-- End Matomo Code -->
    </script>
</head>

<body>
    <div class="preloader">
		<img src="img/loader.gif" alt="Preloader image">
	</div>
	    <nav class="navbar">
		<div class="container">
		  <div class="row">          <div class="col-md-12">

			<!-- Brand and toggle get grouped for better mobile display -->
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="/" title="Apache TomEE">
				    <span>

				    
                        <img 
							src="img/apache_tomee-logo.svg"
							onerror="this.src='img/apache_tomee-logo.jpg'"
							height="50"
							>
                    

                    </span>
                </a>
			</div>
			<!-- Collect the nav links, forms, and other content for toggling -->
			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
				<ul class="nav navbar-nav navbar-right main-nav">
					<li><a href="docs.html">Documentation</a></li>
					<li><a href="community/index.html">Community</a></li>
					<li><a href="security/security.html">Security</a></li>
					<li><a class="btn btn-accent accent-orange no-shadow" href="download.html">Downloads</a></li>
				</ul>
			</div>
			<!-- /.navbar-collapse -->
		   </div></div>
		</div>
		<!-- /.container-fluid -->
	</nav>


    <div id="main-block" class="container main-block">
        <div class="row title">
          <div class="col-md-12">
            <div class='page-header'>
              
              <h1>Tomcat</h1>
            </div>
          </div>
        </div>
        <div class="row">
            
            <div class="col-md-12">
                <div class="sect1">
<h2 id="_introduction">Introduction</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The OpenEJB plugin for Tomcat makes all of the OpenEJB features available to Servlets, including:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>@Annotations <strong> @Resource </strong> @PersistenceUnit <strong> @PersistenceContext </strong> @EJB</p>
</li>
<li>
<p>JPA - Java Persistence Architecture</p>
</li>
<li>
<p>JMS - Java Messaging Service</p>
</li>
<li>
<p>JTA - Transaction Processing <strong> TransactionManager </strong> Container Managed Transactions ** XA Support</p>
</li>
<li>
<p>JavaMail</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>In addition, WAR files can contain EJB modules and JPA persistence units eliminating the annoying construction of .ear files.
Adding EJBs and JPA Persistence beans to your application is as simple as adding the @Stateless, @Stateful, @MessageDriven or @Entity to a class.
The packaging is refered to as <a href="collapsed-ear.html">Collapsed EAR</a>  style as the war file, ejb jar, and persistence unit files are merged into one archive and share the same classloader.</p>
</div>
<div class="paragraph">
<p><em>Requirements:</em></p>
</div>
<div class="ulist">
<ul>
<li>
<p>OpenEJB 3.x</p>
</li>
<li>
<p>Tomcat 6.x or 5.5</p>
</li>
<li>
<p>Java 1.5 or 1.6</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_for_the_impatient">Installation for the Impatient</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Assuming you have a <a href="tomcat-installation.html">normal working Tomcat 6.x or 5.5 installation</a> :</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Download <a href="download-ng.html">openejb.war</a></p>
</li>
<li>
<p>Copy openejb.war to ${catalina.base}/webapps/openejb.war (Note: the file <em>must</em> be named openejb.war)</p>
</li>
<li>
<p>Start Tomcat if it is not already running</p>
</li>
<li>
<p>(optional) Visit <a href="http://localhost:8080/openejb/installer" class="bare">http://localhost:8080/openejb/installer</a>  and click the 'install' button</p>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples_tutorials_and_tests">Examples, Tutorials and Tests</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_ejb_examples_war">ejb-examples.war</h3>
<div class="paragraph">
<p>See the webapps/ejb-examples/ directory in the <a href="download-ng.html">openejb-examples zip</a> .</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_problems">Problems?</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_http_status_403">HTTP Status 403</h3>
<div class="paragraph">
<p>Did you get a "HTTP Status 403" error page containing the description "Access to the specified resource () has been forbidden." when visiting <a href="http://localhost:8080/openejb" class="bare">http://localhost:8080/openejb</a> ?</p>
</div>
<div class="paragraph">
<p>The openejb.war is protected by a Tomcat valve that restricts access to the application to the computer on which Tomcat is running.
If your browser is running on the same computer as Tomcat, try accessing OpenEJB using this link instead <a href="http://127.0.0.1:8080/openejb" class="bare">http://127.0.0.1:8080/openejb</a> .</p>
</div>
<div class="paragraph">
<p>If you want to access the openejb.war from another computer, you will need to either remove the valve, or modify the IP list in the valve declaration.</p>
</div>
<div class="paragraph">
<p>The easiest way to remove the valve it to simply delete the webapps/openejb/META-INF/context.xml file and the webapps/openejb.war file <em>while Tomcat is stopped</em>.
Warning that Tomcat keeps a copy of all context.xml files under conf/Catalina/localhost/<appname>.xml, so you may need to delete the conf/Catalina/localhost/openejb.xml file as well.
The openejb.war file must be removed because some versions of Tomcat will use the context.xml file packed in the openejb.war file regardless of what is in the unpacked directory.</appname></p>
</div>
</div>
<div class="sect2">
<h3 id="_duplicatedeploymentidexception">DuplicateDeploymentIdException:</h3>
<div class="paragraph">
<p>If you try to deploy the same ejb in two different web applications, then you will get the following exception (in conf/openejb.log):</p>
</div>
<div class="literalblock">
<div class="content">
<pre>org.apache.openejb.DuplicateDeploymentIdException: Application cannot be deployed as it contains deployment-ids which are in use:</pre>
</div>
</div>
<div class="paragraph">
<p>To fix the issue, do the following:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Create a file named system.properties under the conf directory</p>
</li>
<li>
<p>Add the following to the system.properties file and save</p>
<div class="paragraph">
<p>openejb.deploymentId.format={moduleId}/{ejbName}</p>
</div>
</li>
</ol>
</div>
</div>
<div class="sect2">
<h3 id="_java_lang_outofmemoryerror_permgen_space">java.lang.OutOfMemoryError: PermGen space</h3>
<div class="paragraph">
<p>By default, the JVM starts with a small PermGen.
Tomcat does not increase this limit, so you may encounter this exception by the time Tomcat deploys and executes your application.
If you get this exception, you should consider increasing the PermGen allocation for the Tomcat JVM.
You can achieve this by adding "-XX:MaxPermSize=256m" to the CATALINA_OPTS environment variable before starting Tomcat.</p>
</div>
</div>
<div class="sect2">
<h3 id="_other_issues">Other Issues</h3>
<div class="paragraph">
<p>If you are having problems with the installation, please send a message to the OpenEJB users <a href="mailing-lists.html">mailing list</a>  containing any error message(s) and the following information:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>OpenEJB Version</p>
</li>
<li>
<p>Tomcat Version</p>
</li>
<li>
<p>Java Version (execute java -version)</p>
</li>
<li>
<p>Operating System Type and Version</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_limitations">Limitations</h2>
<div class="sectionbody">
<div class="paragraph">
<p><em>JavaAgent</em> - OpenEJB uses OpenJPA to provide JPA and CMP persistence, and OpenJPA currently requires a JavaAgent to function properly.
This requirement is something that the OpenJPA project is working on removing.
Once removed, the OpenEJB plugin for Tomcat will no longer need to modify the startup shell scripts and you will not need to restart Tomcat after the OpenEJB installation.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_misc">Misc</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This document is a starting point for using OpenEJB in Tomcat and will evolve based on user contributions.
If you wish to contribute to this document, feel very welcome to click the 'Edit' link in the lower right and make changes and add new HOWTO&#8217;s and other docs.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_jsf_injection_support">JSF Injection Support</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Now you can inject EJB&#8217;s into JSF managed beans.
Currently we have tested with JSF 1.2 RI (Mojarra) and MyFaces v1.2.3 . We would definitely appreciate any feedback on other JSF implementations.</p>
</div>
</div>
</div>
            </div>
            
        </div>
    </div>
<div style="margin-bottom: 30px;"></div>
<footer>
		<div class="container">
			<div class="row">
				<div class="col-sm-6 text-center-mobile">
					<h3 class="white">Be simple.  Be certified. Be Tomcat.</h3>
					<h5 class="light regular light-white">"A good application in a good server"</h5>
					<ul class="social-footer">
						<li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
						<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
					</ul>
					<h5 class="light regular light-white">
						<a href="privacy-policy.html" class="white">Privacy Policy</a>
					</h5>
				</div>
				<div class="col-sm-6 text-center-mobile">
					<div class="row opening-hours">
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="latest/docs/" class="white">Documentation</a></h5>
							<ul class="list-unstyled">
								<li><a href="latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li>
								<li><a href="latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li>
								<li><a href="latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li>
								<li><a href="latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="latest/examples/" class="white">Examples</a></h5>
							<ul class="list-unstyled">
								<li><a href="latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
								<li><a href="latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
								<li><a href="latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li>
								<li><a href="latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="community/index.html" class="white">Community</a></h5>
							<ul class="list-unstyled">
								<li><a href="community/contributors.html" class="regular light-white">Contributors</a></li>
								<li><a href="community/social.html" class="regular light-white">Social</a></li>
								<li><a href="community/sources.html" class="regular light-white">Sources</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="security/index.html" class="white">Security</a></h5>
							<ul class="list-unstyled">
								<li><a href="https://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
								<li><a href="https://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
								<li><a href="https://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
							</ul>
						</div>
					</div>
				</div>
			</div>
			<div class="row bottom-footer text-center-mobile">
				<div class="col-sm-12 light-white">
					<p>Copyright &copy; 1999-2022 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
				</div>
			</div>
		</div>
	</footer>
	<!-- Holder for mobile navigation -->
	<div class="mobile-nav">
        <ul>
          <li><a hef="latest/docs/admin/index.html">Administrators</a>
          <li><a hef="latest/docs/developer/index.html">Developers</a>
          <li><a hef="latest/docs/advanced/index.html">Advanced</a>
          <li><a hef="community/index.html">Community</a>
        </ul>
		<a href="#" class="close-link"><i class="arrow_up"></i></a>
	</div>
	<!-- Scripts -->
	<script src="js/jquery-1.11.1.min.js"></script>
	<script src="js/owl.carousel.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
	<script src="js/wow.min.js"></script>
	<script src="js/typewriter.js"></script>
	<script src="js/jquery.onepagenav.js"></script>
	<script src="js/tree.jquery.js"></script>
	<script src="js/highlight.pack.js"></script>
    <script src="js/main.js"></script>
		</body>

</html>

