The new version is deployed before the old one is undeployed. That's why I like parallel deployment, it's very useful because I can fix problems in my apps without impact to users that are already logged in (JSF view state issues for example). Users who need the fix simply logout and login again, and when there are no more sessions in the old version it's automatically undeployed. As I don't use cluster this process has worked very well in the last years.
After migrating to TomEE I plan moving some stuff to ejbs, so in order to keep using parallel deployment I'll I need to move the ejbs to a separate module? Thanks 2014-09-23 15:00 GMT-03:00 Romain Manni-Bucau <[email protected]>: > Didn't check back but you should have it in the log, if tomcat deploys > new version before undeploying previous one (I think so now) we can't > fix it. This is a feature for apps without ejbs > > > Romain Manni-Bucau > Twitter: @rmannibucau > Blog: http://rmannibucau.wordpress.com/ > LinkedIn: http://fr.linkedin.com/in/rmannibucau > Github: https://github.com/rmannibucau > > > 2014-09-23 18:56 GMT+02:00 Felipe Jaekel <[email protected]>: > > Hi, > > > > In 1.7.1 it always happens. Parallel deploy fails with this in server > log: > > > > Set 23, 2014 1:47:38 PM org.apache.openejb.config.AppInfoBuilder build > > INFORMAÇÕES: Enterprise application > > "/home/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346" > > loaded. > > Set 23, 2014 1:47:38 PM org.apache.openejb.assembler.classic.Assembler > > createApplication > > INFORMAÇÕES: Assembling app: > > /home/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346 > > Set 23, 2014 1:47:38 PM org.apache.openejb.assembler.classic.Assembler > > createApplication > > GRAVE: Application cannot be deployed as it contains deployment-ids > > which are in use: app: > > /home/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346 > > Set 23, 2014 1:47:38 PM org.apache.openejb.assembler.classic.Assembler > > createApplication > > GRAVE: DeploymentId already used: NotificacaoComercialTimer > > Set 23, 2014 1:47:38 PM org.apache.openejb.assembler.classic.Assembler > > createApplication > > GRAVE: DeploymentId already used: NotificacaoTarefaInternaTimer > > Set 23, 2014 1:47:38 PM org.apache.openejb.assembler.classic.Assembler > > createApplication > > GRAVE: DeploymentId already used: jmsColaboradorTopicMdb > > Set 23, 2014 1:47:38 PM org.apache.tomee.catalina.TomcatWebAppBuilder > > startInternal > > GRAVE: Unable to deploy collapsed ear in war > > > StandardEngine[Catalina].StandardHost[localhost].StandardContext[/colaborador##20140923-1346] > > org.apache.openejb.DuplicateDeploymentIdException: Application cannot > > be deployed as it contains deployment-ids which are in use: app: > > /home/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346 > > NotificacaoComercialTimer > > NotificacaoTarefaInternaTimer > > jmsColaboradorTopicMdb > > at > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:663) > > at > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) > > at > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) > > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) > > at > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) > > 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:649) > > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at java.lang.Thread.run(Thread.java:745) > > > > Set 23, 2014 1:47:38 PM org.apache.catalina.core.ContainerBase > removeChild > > GRAVE: ContainerBase.removeChild: destroy: > > org.apache.catalina.LifecycleException: An invalid Lifecycle > > transition was attempted ([before_destroy]) for component > > > [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/colaborador##20140923-1346]] > > 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:1524) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1505) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1254) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) > > at > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) > > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) > > at > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) > > 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:649) > > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at java.lang.Thread.run(Thread.java:745) > > > > Set 23, 2014 1:47:38 PM org.apache.catalina.core.ContainerBase > addChildInternal > > GRAVE: ContainerBase.addChild: start: > > org.apache.catalina.LifecycleException: Failed to start component > > > [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/colaborador##20140923-1346]] > > 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:649) > > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at java.lang.Thread.run(Thread.java:745) > > 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/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346 > > NotificacaoComercialTimer > > NotificacaoTarefaInternaTimer > > jmsColaboradorTopicMdb > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1257) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) > > at > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) > > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) > > at > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) > > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > > ... 10 more > > Caused by: org.apache.openejb.DuplicateDeploymentIdException: > > Application cannot be deployed as it contains deployment-ids which are > > in use: app: > /home/ec2-user/apache-tomee-plus/webapps/colaborador##20140923-1346 > > NotificacaoComercialTimer > > NotificacaoTarefaInternaTimer > > jmsColaboradorTopicMdb > > at > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:663) > > at > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) > > at > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) > > ... 16 more > > > > Set 23, 2014 1:47:38 PM org.apache.catalina.startup.HostConfig deployWAR > > GRAVE: Error deploying web application archive > > > /home/ec2-user/apache-tomee-plus-1.7.1/webapps/colaborador##20140923-1346.war > > java.lang.IllegalStateException: ContainerBase.addChild: start: > > org.apache.catalina.LifecycleException: Failed to start component > > > [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/colaborador##20140923-1346]] > > 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:649) > > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at java.lang.Thread.run(Thread.java:745) > > > > Set 23, 2014 1:47:38 PM org.apache.catalina.startup.HostConfig deployWAR > > INFORMAÇÕES: Deployment of web application archive > > > /home/ec2-user/apache-tomee-plus-1.7.1/webapps/colaborador##20140923-1346.war > > has finished in 4,414 ms > > > > > > 2014-09-08 15:43 GMT-03:00 Romain Manni-Bucau <[email protected]>: > > > >> Hi > >> > >> older version should be deleted and not stay deployed/be redeployed > >> > >> are you able to reproduce it deterministicly? > >> > >> > >> Romain Manni-Bucau > >> Twitter: @rmannibucau > >> Blog: http://rmannibucau.wordpress.com/ > >> LinkedIn: http://fr.linkedin.com/in/rmannibucau > >> Github: https://github.com/rmannibucau > >> > >> > >> 2014-09-08 20:27 GMT+02:00 Felipe Jaekel <[email protected]>: > >> > Hi, > >> > > >> > I'm migrating from Tomcat to TomEE. > >> > > >> > In Tomcat parallel deployment is working fine, but in TomEE I noticed > two > >> > things: > >> > > >> > 1. An extra unversioned entry of my webapp appears in the manager > >> > application > >> > 2. If restart the server only the most recent version of the > >> application > >> > starts. The older ones fail with a DuplicateDeploymentIdException: > >> > > >> > GRAVE: Unable to deploy collapsed ear in war > >> > > >> > StandardEngine[Catalina].StandardHost[localhost].StandardContext[/colaborador##20140908-1455] > >> > org.apache.openejb.DuplicateDeploymentIdException: Application cannot > >> > be deployed as it contains deployment-ids which are in use: app: > >> > > /home/ec2-user/apache-tomee-plus-1.7.0/webapps/colaborador##20140908-1455 > >> > jmsColaboradorTopicMdb > >> > at > >> > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:663) > >> > at > >> > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) > >> > at > >> > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) > >> > at > >> > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) > >> > at > >> > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) > >> > at > >> > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) > >> > at > >> > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > >> > at > >> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) > >> > 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:649) > >> > at > >> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > >> > at > >> > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > >> > at > >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > >> > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > >> > at > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >> > at > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >> > at java.lang.Thread.run(Thread.java:745) > >> > > >> > > >> > No big deal about item 1, but in item 2 will users from older versions > >> lose > >> > their sessions? > >> > > >> > Thanks > >> >
