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* -------------------------------------------------------------------