5 Replies Latest reply on Jun 4, 2010 1:20 PM by richard1

    Welding JMS and MDBs into JBoss 6.0.0 M3

    hirowla.ian.rowlands.three.com.au

      I've having problems with Message Driven Beans (again!) with JBoss 6.0.0 M3 and Weld 1.0.1 Final.


      The scenario occurs when I start up an application with an MDB and there is a message on the queue before the application starts. If a message appears on the queue after application startup, there are no issues and everything processes correctly. During application startup, I get StackTrace #1 - the error is to do with being unable to locate the BeanManager. After the application starts up, I continually get StackTrace #2 - which means no further messages ever get delivered to the MDB.


      Is there any information I could provide to help diagnose this? Is it possibly solved by a snapshot version of Weld (I'm not sure where I can get the weld-core.jar to try)? Whatever the problem, the application is pretty much unusable.


      Thanks,


      Ian



      StackTrace #1




      11:08:53,949 ERROR [org.jboss.aspects.tx.TxPolicy] javax.ejb.EJBTransactionRolledbackException: Unable to inject jndi dependency: env/org.jboss.weld.integration.ejb.SessionBeanInterceptor/beanManager into property org.jboss.weld.integration.ejb.SessionBeanInterceptor.beanManager: WELD-001300 Unable to locate BeanManager
      11:08:53,949 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] Failed to deliver message: javax.ejb.EJBTransactionRolledbackException: Unable to inject jndi dependency: env/org.jboss.weld.integration.ejb.SessionBeanInterceptor/beanManager into property org.jboss.weld.integration.ejb.SessionBeanInterceptor.beanManager: WELD-001300 Unable to locate BeanManager
           at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:115) [:1.0.2]
           at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130) [:1.0.0.GA]
           at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194) [:1.0.0.GA]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.2]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:80) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:277) [:1.3.1]
           at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:299) [:1.3.1]
           at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:152) [:1.3.1]
           at $Proxy171.onMessage(Unknown Source)     at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:259) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:809) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:46) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:927) [:6.0.0.20100429-M3]
           at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:96) [:6.0.0.20100429-M3]
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_11]
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_11]
           at java.lang.Thread.run(Thread.java:619) [:1.6.0_11]
      Caused by: java.lang.RuntimeException: Unable to inject jndi dependency: env/org.jboss.weld.integration.ejb.SessionBeanInterceptor/beanManager into property org.jboss.weld.integration.ejb.SessionBeanInterceptor.beanManager: WELD-001300 Unable to locate BeanManager
           at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:82) [:1.3.1]
           at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:99) [:1.3.1]
           at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:89) [:1.3.1]
           at org.jboss.ejb3.interceptor.InterceptorInjector.inject(InterceptorInjector.java:49) [:1.3.1]
           at org.jboss.ejb3.EJBContainer.createInterceptor(EJBContainer.java:359) [:1.3.1]
           at org.jboss.ejb3.BaseContext.initialiseInterceptorInstances(BaseContext.java:112) [:1.3.1]
           at org.jboss.ejb3.injection.InjectionHelper.inject(InjectionHelper.java:55) [:1.3.1]
           at org.jboss.ejb3.injection.InjectionHelper.inject(InjectionHelper.java:43) [:1.3.1]
           at org.jboss.ejb3.mdb.MDBInjectionInvocation.proceed(MDBInjectionInvocation.java:45) [:1.3.1]
           at org.jboss.ejb3.injection.InjectionInvocation.invokeTarget(InjectionInvocation.java:97) [:1.3.1]
           at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:91) [:1.3.1]
           at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.3.1]
           at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:82) [:1.3.1]
           at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
           at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:82) [:1.3.1]
           at org.jboss.ejb3.EJBContainer.injectBeanContext(EJBContainer.java:1197) [:1.3.1]
           at org.jboss.ejb3.pool.AbstractPool.create(AbstractPool.java:83) [:1.3.1]
           at org.jboss.ejb3.pool.AbstractPool.create(AbstractPool.java:73) [:1.3.1]
           at org.jboss.ejb3.pool.StrictMaxPool.get(StrictMaxPool.java:146) [:1.3.1]
           at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:58) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) [:1.0.0.GA]
           ... 26 more
      Caused by: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NamingException: WELD-001300 Unable to locate BeanManager]
           at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1356) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:819) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) [:5.0.5.Final]
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_11]
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_11]
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_11]
           at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_11]
           at org.jboss.ejb3.EJBContainer$1.invoke(EJBContainer.java:828) [:1.3.1]
           at $Proxy163.lookup(Unknown Source)     at org.jboss.ejb3.JndiUtil.lookup(JndiUtil.java:44) [:1.3.1]
           at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:75) [:1.3.1]
           ... 47 more
      Caused by: javax.naming.NamingException: WELD-001300 Unable to locate BeanManager
           at org.jboss.weld.resources.ManagerObjectFactory.getObjectInstance(ManagerObjectFactory.java:50) [:1.0.1.Final]
           at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) [:1.6.0_11]
           at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1483) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1500) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:824) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:835) [:5.0.5.Final]
           at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) [:5.0.5.Final]
           at javax.naming.InitialContext.lookup(InitialContext.java:392) [:1.6.0_11]
           at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1350) [:5.0.5.Final]
           ... 57 more
      



      StackTrace #2




      11:09:14,777 ERROR [org.jboss.aspects.tx.TxPolicy] javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000
      11:09:14,777 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] Failed to deliver message: javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000
           at org.jboss.ejb3.pool.StrictMaxPool.get(StrictMaxPool.java:127) [:1.3.1]
           at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:58) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) [:1.0.0.GA]
           at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194) [:1.0.0.GA]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.2]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:80) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.3.1]
           at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.0.Final]
           at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:277) [:1.3.1]
           at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:299) [:1.3.1]
           at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:152) [:1.3.1]
           at $Proxy171.onMessage(Unknown Source)     at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:259) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:809) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:46) [:6.0.0.20100429-M3]
           at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:927) [:6.0.0.20100429-M3]
           at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:96) [:6.0.0.20100429-M3]
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_11]
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_11]
           at java.lang.Thread.run(Thread.java:619) [:1.6.0_11]