ear sounds fine you can deploy your ejb deps in tomee lib + deploy your ejb as jar too (in apps/ for instance) then deploy your webapps
depends a lot of your goal and the lifecycle of each parts Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2012/12/7 José Luis Cetina <maxtorz...@gmail.com>: > Hi i have a question, i always use war files for my webapp, inside of them > i have ejbs,entities,classes etc, but now i need to separate my EJB's, and > then i am trying to use ear file for this, but honestly i am not sure if > this is correct. > > I have 3 different webapps (they are package as wars) and i need each of > them can call EJB's methods, but i want to have my EJB in separate "module" > what can i do? Do i have to package my EJB in an EAR? All of this in the > same server (same jvm). > > Can you give some adivce? > > Im using TomEE 1.5.1-SNAPSHOT > > Thanks. > > > 2012/12/7 Romain Manni-Bucau <rmannibu...@gmail.com> > >> Hi, >> >> ear shouldn't be extracted in webapps (David added the needed conf to >> avoid it i think, @David: can you confirm please?) >> >> otherwise apps should work adding <Deployment dir="apps" /> to tomee.xml >> >> Romain Manni-Bucau >> Twitter: @rmannibucau >> Blog: http://rmannibucau.wordpress.com/ >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> Github: https://github.com/rmannibucau >> >> >> >> 2012/12/7 José Luis Cetina <maxtorz...@gmail.com>: >> > I remember i readed time ago some troubles about TomEE with ear files. >> > >> > >> > Im trying to do a test, deploying an ear file that contains a single EJB >> > without war. >> > >> > I only drop my ear into webapps folder >> > >> > >> > >> > What can be happend? >> > >> > >> > INFO: ------------------------- >> > TomcatWebAppBuilder.init /testing-ear-1.0-SNAPSHOT >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.util.OptionsLog info >> > INFO: Using 'openejb.deployments.classpath.filter.systemapps=false' >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.util.OptionsLog info >> > INFO: Using >> > 'openejb.default.deployment-module=org.apache.openejb.config.WebModule' >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.util.OptionsLog info >> > INFO: Using >> > 'openejb.default.deployment-module=org.apache.openejb.config.WebModule' >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.DeploymentLoader >> > discoverModuleType >> > INFO: type for >> > >> '/home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/lib' >> > was not found, defaulting to WebModule >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.util.OptionsLog info >> > INFO: Using >> > 'openejb.default.deployment-module=org.apache.openejb.config.WebModule' >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.util.OptionsLog info >> > INFO: Using >> > 'openejb.default.deployment-module=org.apache.openejb.config.WebModule' >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.ConfigurationFactory >> > configureApplication >> > INFO: Configuring enterprise application: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.InitEjbDeployments >> deploy >> > INFO: Auto-deploying ejb EJBTest: EjbDeployment(deployment-id=EJBTest) >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.AutoConfig deploy >> > INFO: Configuring PersistenceUnit(name=kx_globalconifg, >> > provider=org.apache.openjpa.persistence.PersistenceProviderImpl) >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.AutoConfig >> > setNonJtaDataSource >> > INFO: Adjusting PersistenceUnit kx_globalconifg <non-jta-data-source> to >> > Resource ID 'GlobalConfigDataSourceNonJta' from 'null' >> > Dec 07, 2012 4:20:15 PM >> > org.apache.openejb.config.AppInfoBuilder$PersistenceProviderProperties >> apply >> > WARNING: Removing PersistenceUnit(name=kx_globalconifg) property >> > openjpa.ConnectionPassword=${db.password} [not valid in a container >> > environment] >> > Dec 07, 2012 4:20:15 PM >> > org.apache.openejb.config.AppInfoBuilder$PersistenceProviderProperties >> apply >> > WARNING: Removing PersistenceUnit(name=kx_globalconifg) property >> > openjpa.ConnectionDriverName=${db.driver.class} [not valid in a >> container >> > environment] >> > Dec 07, 2012 4:20:15 PM >> > org.apache.openejb.config.AppInfoBuilder$PersistenceProviderProperties >> apply >> > WARNING: Removing PersistenceUnit(name=kx_globalconifg) property >> > openjpa.ConnectionUserName=${db.username} [not valid in a container >> > environment] >> > Dec 07, 2012 4:20:15 PM >> > org.apache.openejb.config.AppInfoBuilder$PersistenceProviderProperties >> apply >> > WARNING: Removing PersistenceUnit(name=kx_globalconifg) property >> > openjpa.ConnectionURL=${db.url} [not valid in a container environment] >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.config.AppInfoBuilder build >> > INFO: Enterprise application >> > >> "/home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT" >> > loaded. >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.assembler.classic.Assembler >> > createApplication >> > INFO: Assembling app: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > Dec 07, 2012 4:20:15 PM org.apache.openejb.assembler.classic.Assembler >> > createApplication >> > SEVERE: Application cannot be deployed as it contains deployment-ids >> which >> > are in use: app: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > Dec 07, 2012 4:20:15 PM org.apache.tomee.catalina.TomcatWebAppBuilder >> > startInternal >> > SEVERE: Unable to deploy collapsed ear in war >> > >> StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testing-ear-1.0-SNAPSHOT] >> > org.apache.openejb.DuplicateDeploymentIdException: Application cannot be >> > deployed as it contains deployment-ids which are in use: app: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > EJBTest >> > at >> > >> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:567) >> > at >> > >> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:533) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:970) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:889) >> > at >> > >> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118) >> > at >> > >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) >> > at >> > >> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) >> > at >> > >> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) >> > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >> > at >> > >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) >> > at >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) >> > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) >> > at >> > >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) >> > at >> > >> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) >> > at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >> > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> > at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> > at java.lang.Thread.run(Thread.java:722) >> > >> > Dec 07, 2012 4:20:15 PM org.apache.catalina.core.ContainerBase >> removeChild >> > SEVERE: ContainerBase.removeChild: destroy: >> > org.apache.catalina.LifecycleException: An invalid Lifecycle transition >> was >> > attempted ([before_destroy]) for component >> > >> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testing-ear-1.0-SNAPSHOT]] >> > in state [STARTING_PREP] >> > at >> > >> org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) >> > at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:299) >> > at >> > >> org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1041) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1155) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1136) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:974) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:889) >> > at >> > >> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118) >> > at >> > >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) >> > at >> > >> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) >> > at >> > >> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) >> > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >> > at >> > >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) >> > at >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) >> > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) >> > at >> > >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) >> > at >> > >> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) >> > at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >> > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> > at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> > at java.lang.Thread.run(Thread.java:722) >> > >> > Dec 07, 2012 4:20:15 PM org.apache.catalina.core.ContainerBase >> > addChildInternal >> > SEVERE: ContainerBase.addChild: start: >> > org.apache.catalina.LifecycleException: Failed to start component >> > >> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testing-ear-1.0-SNAPSHOT]] >> > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) >> > at >> > >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) >> > at >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) >> > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) >> > at >> > >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) >> > at >> > >> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) >> > at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >> > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> > at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> > at java.lang.Thread.run(Thread.java:722) >> > Caused by: org.apache.tomee.catalina.TomEERuntimeException: >> > org.apache.openejb.DuplicateDeploymentIdException: Application cannot be >> > deployed as it contains deployment-ids which are in use: app: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > EJBTest >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:977) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:889) >> > at >> > >> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118) >> > at >> > >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) >> > at >> > >> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) >> > at >> > >> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) >> > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >> > ... 11 more >> > Caused by: org.apache.openejb.DuplicateDeploymentIdException: Application >> > cannot be deployed as it contains deployment-ids which are in use: app: >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > EJBTest >> > at >> > >> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:567) >> > at >> > >> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:533) >> > at >> > >> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:970) >> > ... 17 more >> > >> > Dec 07, 2012 4:20:15 PM org.apache.catalina.startup.HostConfig >> > deployDirectory >> > SEVERE: Error deploying web application directory >> > >> /home/maxtorzito/Apache_TomEE/apache-tomee-webprofile-1.5.1-SNAPSHOT/webapps/testing-ear-1.0-SNAPSHOT >> > java.lang.IllegalStateException: ContainerBase.addChild: start: >> > org.apache.catalina.LifecycleException: Failed to start component >> > >> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testing-ear-1.0-SNAPSHOT]] >> > at >> > >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) >> > at >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) >> > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) >> > at >> > >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) >> > at >> > >> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) >> > at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >> > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> > at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> > at >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> > at java.lang.Thread.run(Thread.java:722) >> > >> > >> > >> > >> > >> > >> > Thanks >> > > > > -- > ------------------------------------------------------------------- > *SCJA. José Luis Cetina* > -------------------------------------------------------------------