blob: b18c34d5b87095ef571c9388e72ec95724d3b420 [file] [log] [blame]
<!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">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2717626-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</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="/">
<span>
<img src="../../img/logo-active.png">
</span>
Apache TomEE
</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 href="../../download-ng.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>FAQ</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>==
 General</p>
</div>
<div class="literalblock">
<div class="content">
<pre> </pre>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_what_spec_version_does_openejb_support">What spec version does OpenEJB support?</h3>
<div class="paragraph">
<p>OpenEJB supports the Enterprise JavaBeans 3.0 specification and previous
versions 2.1, 2.0 and 1.1.</p>
</div>
</div>
<div class="sect2">
<h3 id="_i_don_t_plan_to_use_ejbs_so_why_would_i_embed_openejb_into_tomcat">I don&#8217;t plan to use EJBs, so why would I embed OpenEJB into Tomcat.</h3>
<div class="paragraph">
<p>Adding OpenEJB to Tomcat gives servlets several new Java EE 5
capabilities such as JPA, JAX-WS, JMS, J2EE Connectors, transactions,
and more as well as enhancing the injection features of Tomcat 6 to now
support injection of JavaEE objects like Topics, Queues, EntityManagers,
JMS ConnectionFactories, JavaMail Sessions, as well as simpler data
types such as Dates, Classes, URI, URL, List, Map, Set, Properties, and
more. In the case of Tomcat 5.5 which doesn&#8217;t support dependency
injection at all, even more is gained.</p>
</div>
</div>
<div class="sect2">
<h3 id="_can_i_run_openejb_with_a_jvm_for_any_vendor">Can I run OpenEJB with a JVM for any vendor?</h3>
<div class="paragraph">
<p>The Sun, Mac, and IBM vms are regularly tested, however any vm should
work.</p>
</div>
</div>
<div class="sect2">
<h3 id="_which_version_of_java_is_required_to_run_openejb">Which version of Java is required to run OpenEJB?</h3>
<div class="paragraph">
<p>Java versions 5 or 6, aka Java 1.5 or 1.6.</p>
</div>
</div>
<div class="sect2">
<h3 id="_do_i_need_apache_maven_to_work_with_openejb">Do I need Apache Maven to work with OpenEJB?</h3>
<div class="paragraph">
<p>Definitely not. Most of the examples include both Maven and Ant build
files. OpenEJB is usable as a plain library, much like an embedded
database like Derby, so it is usable in any application regardless if
that application is run via Maven, Ant, Intellij, Eclipse, NetBeans,
JUnit, TestNG, etc.</p>
</div>
</div>
<div class="sect1">
<h2 id="_can_i_start_and_stop_openejb_from_an_ide_if_yes_which_ide_is">Can I start and stop OpenEJB from an IDE? If yes, which IDE is</h2>
<div class="sectionbody">
<div class="paragraph">
<p>supported by OpenEJB?</p>
</div>
<div class="paragraph">
<p>The short answer is yes. The basic approach for all embedding scenarios
is to 1) add OpenEJB to your classpath, and 2) construct your
InitialContext using
org.apache.openejb.client.LocalInitialContextFactory. The
LocalInitialContextFactory will boot OpenEJB in your vm and all ejb
applications visible in the classpath will be deployed. See
<a href="http://tomee.apache.org/embedding-openejb.html" class="bare">http://tomee.apache.org/embedding-openejb.html</a> for details on how to
embed openejb in your application and IDE. See
openejbx30:application-discovery-via-the-classpath.html[Application
discovery via the classpath] for various ways to have your applications
discovered.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_during_embedded_testing_how_can_i_externalize_all_my_datasource">During embedded testing, how can I externalize all my DataSource</h2>
<div class="sectionbody">
<div class="paragraph">
<p>configuration?</p>
</div>
<div class="paragraph">
<p>Create an openejb.xml file in any directory that gets added to your test
classpath. For maven, something that winds up directly under
"target/classes/" or "target/test-classes/" will work just fine. Then in
your test case do this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java"> protected void setUp() throws Exception {
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,</code></pre>
</div>
</div>
<div class="paragraph">
<p>"org.apache.openejb.client.LocalInitialContextFactory");</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-properties" data-lang="properties"> URL config =</code></pre>
</div>
</div>
<div class="paragraph">
<p>this.getClass().getClassLoader().getResource("openejb.xml");
properties.setProperty("openejb.configuration",
config.toExternalForm());</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java"> initialContext = new InitialContext(properties);
}</code></pre>
</div>
</div>
<div class="paragraph">
<p>The file itself doesn&#8217;t have to be called "openejb.xml", you could have
a few different files like that for different testing scenarios each
with a name that describes the basic setup.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_container_managed_persistence">Container-Managed Persistence</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_what_engine_does_openejb_use_for_cmp">What engine does OpenEJB use for CMP?</h3>
<div class="paragraph">
<p>The CMP engine is written as a layer over JPA with OpenJPA doing the
persistence work.</p>
</div>
</div>
<div class="sect2">
<h3 id="_what_is_the_format_for_the_cmp_mapping_files">What is the format for the CMP mapping files?</h3>
<div class="paragraph">
<p>The standard JPA mapping file and annotations are also used for CMP
mappings.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</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>
<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
</ul>
</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/documentation.html" 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="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
<li><a href="http://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-2016 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>