blob: 2f48f19fe442057e63b7c51d6441522edf2f9553 [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>Deploying An Application To TomEE Or OpenEJB</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="sect1">
<h2 id="_deploying_an_application_to_tomee_or_openejb">Deploying An Application To TomEE Or OpenEJB</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_how_to_deploy_my_application_under_tomee">How to deploy my application under TomEE</h3>
<div class="sect3">
<h4 id="_description">Description</h4>
<div class="paragraph">
<p>This aims to be more dynamic in the way you deploy your applications. It
is clearly cloud oriented.</p>
</div>
</div>
<div class="sect3">
<h4 id="_webapp_and_tomee_deployment">Webapp and TomEE deployment</h4>
<div class="paragraph">
<p>Webapp can be deployed as Tomcat does. Simply put it in webapps folder
(or the one you configured) and start TomEE.</p>
</div>
</div>
<div class="sect3">
<h4 id="_tomee_specific_deployment">TomEE specific deployment</h4>
<div class="paragraph">
<p>By default TomEE deploys applications (ear, war, jar) contained in
$CATALINA_BASE/apps directory at start up.</p>
</div>
</div>
<div class="sect3">
<h4 id="_deployer">Deployer</h4>
<div class="paragraph">
<p>OpenEJB provides a Deployer EJB to do this task. It can be used in your
own software looking up remotely the "openejb/DeployerBusinessRemote"
EJB. Its interface is "org.apache.openejb.assembler.Deployer". The
needed dependency is org.apache.openejb:openejb-core.</p>
</div>
<div class="paragraph">
<p>Once you got your deployer simply invoke the "deploy" method. Give it
the location of your application (can be a file, http, https, maven
location depending on the way you configured your container, for more
information have a look to TomEE provisionning).</p>
</div>
<div class="paragraph">
<p>Note: the "undeploy" method exists too and take the same path.</p>
</div>
<div class="paragraph">
<p>The Deployer is the base of all other solutions</p>
</div>
</div>
<div class="sect3">
<h4 id="_maven_plugin">Maven plugin</h4>
<div class="paragraph">
<p><a href="maven/index.html">org.apache.openejb:tomee-maven-plugin</a> can be used
to deploy/undeploy your application. Once this plugin is added to your
pom you have access to the following configuration:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>tomeeHttpPort</p>
</li>
<li>
<p>tomeeHost</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Then simply run</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">mvn tomee:deploy &lt;path&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>or</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">mvn tomee:undeploy &lt;path&gt;</code></pre>
</div>
</div>
<div class="sect4">
<h5 id="_the_deployer_through_tomee_webapp">The Deployer through TomEE Webapp</h5>
<div class="paragraph">
<p>When you start TomEE you can locally access the TomEE webapps
(<a href="http://host:ip/tomee/" class="bare">http://host:ip/tomee/</a>).</p>
</div>
<div class="paragraph">
<p>Then simply go to JNDI tree, select the deployer in the tree, then click
on "invoke this ejb", select the deploy (or undeploy) method, fill the
path and click on "invoke".</p>
</div>
</div>
<div class="sect4">
<h5 id="_cloud_idea">Cloud idea</h5>
<div class="paragraph">
<p>If you want to cloudify your application, you&#8217;ll get a configuration
database (or any other storage system ;)).</p>
</div>
<div class="paragraph">
<p>So it means it is easy for you to get a host and a port&#8230;&#8203;so it is easy
to deploy on all your server using the deployer: simply use the maven
provisioning then run the deployer on all your nodes and that&#8217;s all!</p>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_doing_it_with_camel">Doing it with camel?</h4>
<div class="paragraph">
<p>If you are using a route to deploy/undeploy your applications you can
have a look to the proposed camel-openejb component:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>base code:
<a href="http://svn.apache.org/repos/asf/tomee/sandbox/camel/camel-openejb/" class="bare">http://svn.apache.org/repos/asf/tomee/sandbox/camel/camel-openejb/</a></p>
</li>
<li>
<p>proposed to be added to camel:
<a href="https://issues.apache.org/jira/browse/CAMEL-4935" class="bare">https://issues.apache.org/jira/browse/CAMEL-4935</a></p>
</li>
</ul>
</div>
</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>