| = Deploying An Application To TomEE Or OpenEJB |
| :index-group: EJB |
| :jbake-date: 2018-12-05 |
| :jbake-type: page |
| :jbake-status: published |
| |
| |
| == Deploying An Application To TomEE Or OpenEJB |
| |
| === How to deploy my application under TomEE |
| |
| ==== Description |
| |
| This aims to be more dynamic in the way you deploy your applications. It |
| is clearly cloud oriented. |
| |
| ==== Webapp and TomEE deployment |
| |
| Webapp can be deployed as Tomcat does. Simply put it in webapps folder |
| (or the one you configured) and start TomEE. |
| |
| ==== TomEE specific deployment |
| |
| By default TomEE deploys applications (ear, war, jar) contained in |
| $CATALINA_BASE/apps directory at start up. |
| |
| ==== Deployer |
| |
| 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. |
| |
| 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). |
| |
| Note: the "undeploy" method exists too and take the same path. |
| |
| The Deployer is the base of all other solutions |
| |
| ==== Maven plugin |
| |
| link:maven/index.html[org.apache.openejb:tomee-maven-plugin] can be used |
| to deploy/undeploy your application. Once this plugin is added to your |
| pom you have access to the following configuration: |
| |
| * tomeeHttpPort |
| * tomeeHost |
| |
| Then simply run |
| |
| [source,bash] |
| ---- |
| mvn tomee:deploy <path> |
| ---- |
| |
| or |
| |
| [source,bash] |
| ---- |
| mvn tomee:undeploy <path> |
| ---- |
| |
| ===== The Deployer through TomEE Webapp |
| |
| When you start TomEE you can locally access the TomEE webapps |
| (http://host:ip/tomee/). |
| |
| 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". |
| |
| ===== Cloud idea |
| |
| If you want to cloudify your application, you'll get a configuration |
| database (or any other storage system ;)). |
| |
| So it means it is easy for you to get a host and a port...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's all! |
| |
| ==== Doing it with camel? |
| |
| If you are using a route to deploy/undeploy your applications you can |
| have a look to the proposed camel-openejb component: |
| |
| * base code: |
| http://svn.apache.org/repos/asf/tomee/sandbox/camel/camel-openejb/ |
| * proposed to be added to camel: |
| https://issues.apache.org/jira/browse/CAMEL-4935 |