Re: [JBoss-user] NameAlreadyBoundException When mixing MDB and EJB
On Sat, 2003-10-18 at 19:22, Bob Cotton wrote: Adrian Brock [EMAIL PROTECTED] writes: Hi Bob, The env context should be bean specific. In practice a classloader is created for each bean that marks the context to use for java:comp/etc The error you show suggests this has failed, i.e. two beans are using the same context classloader. I can't think of a reason for this, except that possibly you have managed to get java:comp/env into the jvm namespace java: rather than the bean specific java:comp/env (this is a guess?) Does your deployment contain a jndi.properties? Normally you see the opposite problem where java: is unavailable because jndi goes over RMI. No, no jndi.properties. What trace/debug can I turn up to help debug this problem? Sorry Bob, this one slipped under my radar until I did hide read messages on jboss-user. The jndi context is linked to the thread context classloader. Each bean gets a unique one. When it fails, show the result of ClassLoader cl = Thread.currentThread().getContextClassLoader(); It should be a URLClassLoader with getURLs() empty. The result of getParent() should be a web classloader for dynamic downloading of classes Show getURLs() for cl.getParent() as well Regards, Adrian -Bob Regards, Adrian On Wed, 2003-10-15 at 21:06, Bob Cotton wrote: jboss 3.2.1 We have statless session beans deployed in the same ear as MDBs. Both the statless and the MDB make other EJB calls. Depending on which starts working first, if the call is made before the other has been deployed, we get this error: Ideas? -Bob 2003-10-15 19:31:42,992 ERROR [org.jboss.ejb.StatelessSessionContainer] Starting failed javax.naming.NameAlreadyBoundException; remaining name 'env' at org.jnp.server.NamingServer.createSubcontext(NamingServer.java:451) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:811) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:797) at org.jboss.ejb.Container.setupEnvironment(Container.java:735) at org.jboss.ejb.Container.startService(Container.java:568) at org.jboss.ejb.StatelessSessionContainer.startService(StatelessSessionContainer.java:192) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy35.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:329) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy17.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:540) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy7.deploy(Unknown Source) at
Re: [JBoss-user] NameAlreadyBoundException When mixing MDB and EJB
Adrian Brock [EMAIL PROTECTED] writes: Hi Bob, The env context should be bean specific. In practice a classloader is created for each bean that marks the context to use for java:comp/etc The error you show suggests this has failed, i.e. two beans are using the same context classloader. I can't think of a reason for this, except that possibly you have managed to get java:comp/env into the jvm namespace java: rather than the bean specific java:comp/env (this is a guess?) Does your deployment contain a jndi.properties? Normally you see the opposite problem where java: is unavailable because jndi goes over RMI. No, no jndi.properties. What trace/debug can I turn up to help debug this problem? -Bob Regards, Adrian On Wed, 2003-10-15 at 21:06, Bob Cotton wrote: jboss 3.2.1 We have statless session beans deployed in the same ear as MDBs. Both the statless and the MDB make other EJB calls. Depending on which starts working first, if the call is made before the other has been deployed, we get this error: Ideas? -Bob 2003-10-15 19:31:42,992 ERROR [org.jboss.ejb.StatelessSessionContainer] Starting failed javax.naming.NameAlreadyBoundException; remaining name 'env' at org.jnp.server.NamingServer.createSubcontext(NamingServer.java:451) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:811) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:797) at org.jboss.ejb.Container.setupEnvironment(Container.java:735) at org.jboss.ejb.Container.startService(Container.java:568) at org.jboss.ejb.StatelessSessionContainer.startService(StatelessSessionContainer.java:192) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy35.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:329) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy17.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:540) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy7.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at
[JBoss-user] NameAlreadyBoundException When mixing MDB and EJB
jboss 3.2.1 We have statless session beans deployed in the same ear as MDBs. Both the statless and the MDB make other EJB calls. Depending on which starts working first, if the call is made before the other has been deployed, we get this error: Ideas? -Bob 2003-10-15 19:31:42,992 ERROR [org.jboss.ejb.StatelessSessionContainer] Starting failed javax.naming.NameAlreadyBoundException; remaining name 'env' at org.jnp.server.NamingServer.createSubcontext(NamingServer.java:451) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:811) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:797) at org.jboss.ejb.Container.setupEnvironment(Container.java:735) at org.jboss.ejb.Container.startService(Container.java:568) at org.jboss.ejb.StatelessSessionContainer.startService(StatelessSessionContainer.java:192) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy35.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:329) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy17.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:540) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy7.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy5.start(Unknown Source) at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at
Re: [JBoss-user] NameAlreadyBoundException When mixing MDB and EJB
Hi Bob, The env context should be bean specific. In practice a classloader is created for each bean that marks the context to use for java:comp/etc The error you show suggests this has failed, i.e. two beans are using the same context classloader. I can't think of a reason for this, except that possibly you have managed to get java:comp/env into the jvm namespace java: rather than the bean specific java:comp/env (this is a guess?) Does your deployment contain a jndi.properties? Normally you see the opposite problem where java: is unavailable because jndi goes over RMI. Regards, Adrian On Wed, 2003-10-15 at 21:06, Bob Cotton wrote: jboss 3.2.1 We have statless session beans deployed in the same ear as MDBs. Both the statless and the MDB make other EJB calls. Depending on which starts working first, if the call is made before the other has been deployed, we get this error: Ideas? -Bob 2003-10-15 19:31:42,992 ERROR [org.jboss.ejb.StatelessSessionContainer] Starting failed javax.naming.NameAlreadyBoundException; remaining name 'env' at org.jnp.server.NamingServer.createSubcontext(NamingServer.java:451) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:811) at org.jnp.interfaces.NamingContext.createSubcontext(NamingContext.java:797) at org.jboss.ejb.Container.setupEnvironment(Container.java:735) at org.jboss.ejb.Container.startService(Container.java:568) at org.jboss.ejb.StatelessSessionContainer.startService(StatelessSessionContainer.java:192) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy35.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:329) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) at $Proxy9.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:392) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy17.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:540) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy7.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at