[
https://issues.apache.org/jira/browse/OPENEJB-873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
karan singh malhi resolved OPENEJB-873.
---------------------------------------
Resolution: Fixed
Revision number: 680207
> Deploying the same ejb in two different webapps causes a
> DuplicateDeploymentIdException
> ---------------------------------------------------------------------------------------
>
> Key: OPENEJB-873
> URL: https://issues.apache.org/jira/browse/OPENEJB-873
> Project: OpenEJB
> Issue Type: Bug
> Components: tomcat
> Affects Versions: 3.0.1
> Reporter: karan singh malhi
> Assignee: karan singh malhi
>
> I deployed two ejb's i.e. Calculator and Greeting in a webapp named dummy
> (i.e. context root was dummy). Then I copied the webapp dummy and pasted it
> under tomcat/webapps but renamed the context root to myfaces. This way I had
> two exact same webapps, but there were two different context roots. When I
> start tomcat and open the <<tomcat-install>>/conf/openejb.log, the log shows
> me a DuplicateDeploymentIdException for one of the webapps (the one which
> started later). This is because a deploymentId was already assigned to the
> earlier webapp. So I decided to change the default deploymentId of a module
> by adding the following in <<Tomcat-install>>/conf/system.properties file
> openejb.deploymentId.format={moduleId}/{ejbName}
> When I restarted tomcat, i still got the same exception. The reason is that
> the moduleId of every web module which contains EJB's is named as "classes".
> Here is the exception:
> 2008-07-27 18:48:22,692 - INFO - Configuring enterprise application:
> /home/karan/install/apache-tomcat-6.0.16/webapps/dummy
> 2008-07-27 18:48:22,692 - DEBUG - No ejb-jar.xml found assuming annotated
> beans present: /home/karan/install/apache-tomcat-6.0.16/webapps/dummy,
> module: classes
> 2008-07-27 18:48:22,701 - INFO - Enterprise application
> "/home/karan/install/apache-tomcat-6.0.16/webapps/dummy" loaded.
> 2008-07-27 18:48:22,702 - INFO - Assembling app:
> /home/karan/install/apache-tomcat-6.0.16/webapps/dummy
> 2008-07-27 18:48:22,728 - DEBUG - Using openejb.jndiname.strategy.class
> 'org.apache.openejb.assembler.classic.JndiBuilder$TemplatedStrategy'
> 2008-07-27 18:48:22,729 - DEBUG - Using openejb.jndiname.format
> '{deploymentId}{interfaceType.annotationName}'
> 2008-07-27 18:48:22,731 - INFO - Jndi(name=GreeterImplLocal) -->
> Ejb(deployment-id=GreeterImpl)
> 2008-07-27 18:48:22,732 - INFO - Jndi(name=MathCalculatorLocal) -->
> Ejb(deployment-id=MathCalculator)
> 2008-07-27 18:48:22,732 - INFO - Created Ejb(deployment-id=GreeterImpl,
> ejb-name=GreeterImpl, container=My Stateless Container)
> 2008-07-27 18:48:22,732 - INFO - Created Ejb(deployment-id=MathCalculator,
> ejb-name=MathCalculator, container=My Stateless Container)
> 2008-07-27 18:48:22,732 - INFO - Deployed
> Application(path=/home/karan/install/apache-tomcat-6.0.16/webapps/dummy)
> 2008-07-27 18:48:22,732 - DEBUG - App Created Event: CxfService:
> /home/karan/install/apache-tomcat-6.0.16/webapps/dummy
> 2008-07-27 18:48:25,740 - INFO - Configuring enterprise application:
> /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces
> 2008-07-27 18:48:25,740 - DEBUG - No ejb-jar.xml found assuming annotated
> beans present: /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces,
> module: classes
> 2008-07-27 18:48:25,746 - INFO - Enterprise application
> "/home/karan/install/apache-tomcat-6.0.16/webapps/myfaces" loaded.
> 2008-07-27 18:48:25,746 - INFO - Assembling app:
> /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces
> 2008-07-27 18:48:25,746 - ERROR - Application cannot be deployed as it
> contains deployment-ids which are in use: app:
> /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces
> 2008-07-27 18:48:25,746 - DEBUG - DeploymentId already used: GreeterImpl
> 2008-07-27 18:48:25,746 - DEBUG - DeploymentId already used: MathCalculator
> 2008-07-27 18:48:25,747 - ERROR - Unable to deploy collapsed ear in war
> /myfaces: Exception: Application cannot be deployed as it contains
> deployment-ids which are in use: app:
> /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces
> GreeterImpl
> MathCalculator
> org.apache.openejb.DuplicateDeploymentIdException: Application cannot be
> deployed as it contains deployment-ids which are in use: app:
> /home/karan/install/apache-tomcat-6.0.16/webapps/myfaces
> GreeterImpl
> MathCalculator
> at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:444)
> at
> org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java:241)
> at
> org.apache.openejb.tomcat.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:58)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4252)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
> at
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
> at
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.