Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-8302

Message Driven Beans fail to run if an item is on the queue before the application server is started up

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 6.0.0.Final
    • None
    • Weld/CDI
    • None
    • Hide

      Stop the application and put a message on the queue which will be picked up by an MDB in the application. Stop and start the server, and watch the log output.

      For comparison, remove the message from the queue and start up the application - in this case, everything is successful.

      Show
      Stop the application and put a message on the queue which will be picked up by an MDB in the application. Stop and start the server, and watch the log output. For comparison, remove the message from the queue and start up the application - in this case, everything is successful.

    Description

      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.

      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]

      Attachments

        Activity

          People

            marius.bogoevici Marius Bogoevici (Inactive)
            hirowla_jira Ian Ian (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: