12 Replies Latest reply on Apr 19, 2011 11:50 AM by Michael Huang

    DuplicateBindException on deployment

    denis petr Newbie

      Hi, everyone.

      I've got a problem deploying ear to the jboss-6.0.0.Final

       

      org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Could not register org.jboss.ejb3.proxy.impl.factory.session.stateful.StatefulSessionLocalProxyFactory@100c676 under an already registered key.

       

      Application seem to be works well.

      There was no such exceptions with jboss-5.1.0.GA.

      Does anyone have ideas why it happens?

      Thanks.

        • 1. DuplicateBindException on deployment
          jaikiran pai Master

          Please post the entire exception stacktrace and a bit more details about your application.

          • 2. DuplicateBindException on deployment
            Nicklas Karlsson Master

            Could you post the full stack trace? No chance of duplicate jars?

            • 3. DuplicateBindException on deployment
              denis petr Newbie

              Full stacktrace:

              2011-01-24 00:03:01,916 ERROR [ProfileServiceBootstrap] (Thread-2) Failed to load profile:: org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

               

              DEPLOYMENTS MISSING DEPENDENCIES:

                Deployment "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=EjbSynchronizations,service=EJB3_endpoint" is missing the following dependencies:

                  Dependency "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=EjbSynchronizations,service=EJB3" (should be in state "Installed", but is actually in state "**ERROR**")

                Deployment "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=TimerServiceDispatcher,service=EJB3_endpoint" is missing the following dependencies:

                  Dependency "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=TimerServiceDispatcher,service=EJB3" (should be in state "Installed", but is actually in state "**ERROR**")

               

              DEPLOYMENTS IN ERROR:

                Deployment "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=TimerServiceDispatcher,service=EJB3" is in error due to the following reason(s): org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Cannot install org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@248fd67f under name "ProxyFactory/SMS-ear/TimerServiceDispatcher/SMS-ear/TimerServiceDispatcher/local" as there is already an existing object there: org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@a80dee3, **ERROR**

                Deployment "jboss.j2ee:ear=SMS-ear.ear,jar=SMS-ejb.jar,name=EjbSynchronizations,service=EJB3" is in error due to the following reason(s): org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Cannot install org.jboss.ejb3.proxy.impl.factory.session.stateful.StatefulSessionLocalProxyFactory@3005c294 under name "ProxyFactory/SMS-ear/EjbSynchronizations/SMS-ear/EjbSynchronizations/local" as there is already an existing object there: org.jboss.ejb3.proxy.impl.factory.session.stateful.StatefulSessionLocalProxyFactory@56b8ed99, **ERROR**

               

                  at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1228) [:2.2.0.GA]

                  at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:905) [:2.2.0.GA]

                  at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:87) [:6.0.0.Final]

                  at org.jboss.profileservice.deployment.ProfileDeployerPluginRegistry.checkAllComplete(ProfileDeployerPluginRegistry.java:107) [:0.2.2]

                  at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:135) [:6.0.0.Final]

                  at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.0.0.Final]

                  at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]

                  at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]

              application contains:

              SMS-ear.ear

              |

              --jboss-seam.jar

              --SMS-ejb.jar

              --SMS.war

               

              jboss-app.xml

              <?xml version="1.0" encoding="UTF-8"?>

              <!DOCTYPE jboss-app

                  PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN"

                  "http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd">

               

              <jboss-app>

                  <module-order>strict</module-order>

                  <loader-repository>

                      seam.jboss.org:loader=SMS-ear.ear

                  </loader-repository>

              </jboss-app>

              application.xml

               

              <?xml version="1.0" encoding="UTF-8"?>

              <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">

                <display-name>SMS-ear</display-name>

                <module>

                  <ejb>jboss-seam.jar</ejb>

                </module>

                <module>

                  <web>

                    <web-uri>SMS.war</web-uri>

                    <context-root>/SMS</context-root>

                  </web>

                </module>

                <module>

                  <ejb>SMS-ejb.jar</ejb>

                </module>

              </application>

               

              Thanks.

              • 4. DuplicateBindException on deployment
                jaikiran pai Master

                Do you have a ClassPath entry in SMS-ejb.jar's META-INF/MANIFEST.MF which points to jboss-seam.jar? If yes, remove that ClassPath entry.

                • 5. DuplicateBindException on deployment
                  Gerson Samaniego Newbie

                  I have the same problem:

                   

                  Caused by: org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Cannot install org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionRemoteProxyFactory@10f7155 under name "ProxyFactory/rh/GenericFachadaImpl/rh/GenericFachadaImpl/remote" as there is already an existing object there: org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionRemoteProxyFactory@5b0eda

                   

                  My application also worked well in jboss4.2.3

                   

                  Thanks

                  • 6. DuplicateBindException on deployment
                    Nicklas Karlsson Master

                    More details, people. Are you running several applications (Foo.ear and TestFoo.ear) in the same server?

                     

                    Try to strip down the application to a bare minimum (blank EJBs, no libs, keeping interfaces and general structure) and attach it.

                    • 7. DuplicateBindException on deployment
                      denis petr Newbie

                      jaikiran pai wrote:

                       

                      Do you have a ClassPath entry in SMS-ejb.jar's META-INF/MANIFEST.MF which points to jboss-seam.jar? If yes, remove that ClassPath entry.

                      Thanks. Exception isn't trowing now. Maven added jboss-seam.jar to the manifest.

                      • 8. DuplicateBindException on deployment
                        Michael Huang Newbie

                        I got the same DuplicateBindException issue. However, I don't have a MANIFEST.MF in my jar file tgwEJB.jar. It works well in 4.2.1. But I got this isse in 5.1.0, with stacktrace attached below. What could be the possible cause of my case? Thanks.    -Michael

                         

                        ======================

                        10:09:24,659 ERROR [AbstractKernelController] Error installing to Start: name=jboss.j2ee:ear=acesEar.ear,jar=tgwEJB.jar,name=ReportedEquipmentSessionEJB,service=EJB3 state=Create

                        java.lang.RuntimeException: org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Could not register org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@1d5b73a under an already registered key, "ProxyFactory/acesEar/ReportedEquipmentSessionEJB/acesEar/ReportedEquipmentSessionEJB/local" for EJB ReportedEquipmentSessionEJB

                        at org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase.createJndiReferenceBindingSet(JndiSessionRegistrarBase.java:496)

                        at org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase.bindEjb(JndiSessionRegistrarBase.java:148)

                        at org.jboss.ejb3.session.SessionContainer.lockedStart(SessionContainer.java:210)

                        at org.jboss.ejb3.session.SessionSpecContainer.lockedStart(SessionSpecContainer.java:577)

                        at org.jboss.ejb3.stateless.StatelessContainer.lockedStart(StatelessContainer.java:192)

                        at org.jboss.ejb3.EJBContainer.start(EJBContainer.java:884)

                        at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                        at java.lang.reflect.Method.invoke(Method.java:597)

                        at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)

                        at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)

                        at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)

                        at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)

                        at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)

                        at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)

                        at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)

                        at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)

                        at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)

                        at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)

                        at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)

                        at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)

                        at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)

                        at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

                        at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

                        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)

                        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)

                        at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)

                        at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)

                        at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)

                        at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)

                        at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)

                        at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

                        at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

                        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)

                        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)

                        at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)

                        at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)

                        at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)

                        at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)

                        at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)

                        at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)

                        at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

                        at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

                        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)

                        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)

                        at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)

                        at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)

                        at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)

                        at org.jboss.Main.boot(Main.java:221)

                        at org.jboss.Main$1.run(Main.java:556)

                        at java.lang.Thread.run(Thread.java:619)

                        Caused by: org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Could not register org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@1d5b73a under an already registered key, "ProxyFactory/acesEar/ReportedEquipmentSessionEJB/acesEar/ReportedEquipmentSessionEJB/local" for EJB ReportedEquipmentSessionEJB

                        at org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase.registerProxyFactory(JndiSessionRegistrarBase.java:1152)

                        at org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase.createJndiReferenceBindingSet(JndiSessionRegistrarBase.java:492)

                        ... 64 more

                        Caused by: org.jboss.ejb3.common.registrar.spi.DuplicateBindException: Cannot install org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@1d5b73a under name "ProxyFactory/acesEar/ReportedEquipmentSessionEJB/acesEar/ReportedEquipmentSessionEJB/local" as there is already an existing object there: org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@1997685

                        at org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar.bind(Ejb3McRegistrar.java:250)

                        at org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase.registerProxyFactory(JndiSessionRegistrarBase.java:1140)

                        ... 65 more

                        • 9. Re: DuplicateBindException on deployment
                          Michael Huang Newbie

                          Can someone ask this question or do I need to put this in a new discussion? Thanks in advance.   -Michael

                           

                          =========

                          I got the same DuplicateBindException issue. However, I don't have a MANIFEST.MF in my jar file tgwEJB.jar. It works well in 4.2.1. But I got this isse in 5.1.0, with stacktrace attached below. What could be the possible cause of my case? Thanks.    -Michael

                          • 10. Re: DuplicateBindException on deployment
                            Michael Huang Newbie

                            Sorry, I meant "Can someone answer this question or do I need to put this in a new discussion?"

                            • 11. Re: DuplicateBindException on deployment
                              jaikiran pai Master

                              Please create a new thread with more details including how your application is packaged and the contents of the application. Also, if possible, upgrade to JBoss AS 6.0.0.Final and see if that helps.

                              • 12. Re: DuplicateBindException on deployment
                                Michael Huang Newbie

                                I got the problem resolved. The problem was I had two session EJBs with the same ejb name (ReportedEquipmentSessionEJB) in differenet packages (xxx.business.nontle.equipment.ReportedEquipmentSessionEJB, and xxx.tgw.business.common.ReportedEquipmentSessionEJB). By default, the server use ear file name, ejb name, and local/remote (as in acesEar/ReportedEquipmentSessionEJB/local) for JNDI binding. However, I did use LocalBinding(as in

                                LocalBinding(jndiBinding = "xxx.business.nontle.equipment.ReportedEquipmentDelegate") and

                                LocalBinding(jndiBinding = "xxx.tgw.business.common.ReportedEquipmentDelegate") ). LocalBinding should overrides the default. For some reason, it was not overiding the default. Again, the EAR was working in 4.2.1, but is not working with 5.1.0. The way I solved the problem was to change one of the EJB name to  TgwReportedEquipmentSessionEJB. After the change, it worked. I wish I didn't have to make the change. Is this a bug in 5.1.0 or there is some configuration I need to make?