[weld-issues] [JBoss JIRA] Created: (WELD-463) Unable to inject MessageDrivenContext into a Message Driven Bean

Ian (JIRA) jira-events at lists.jboss.org
Mon Mar 8 02:57:58 EST 2010


Unable to inject MessageDrivenContext into a Message Driven Bean
----------------------------------------------------------------

                 Key: WELD-463
                 URL: https://jira.jboss.org/jira/browse/WELD-463
             Project: Weld
          Issue Type: Bug
    Affects Versions: 1.0.1.Final
         Environment: JBoss 6.0.0 M2 with Weld 1.0.1 Final, Windows XP SP3
            Reporter: Ian


When I try to inject a MessageDrivenContext into a Message Driven Bean, I get errors as the bean is created.

The code for the Message Driven Bean is:

MessageDriven(activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
    @ActivationConfigProperty(propertyName = "destination", propertyValue = "/queue/NotificationsQueue")})
public class OptinNotificationProcessor
	implements MessageListener {
    @Resource
    private MessageDrivenContext context;

    @Inject
    private Logger logger;

    public void onMessage(Message message) {
        etc etc
    }

The problem occurs when I use the @Resource tag with the MessageDrivenContext. If I take that out, the code sort of works. But if I put it in, I get the stacktrace shown at the bottom. As an aside, the logger injection works if I remove the @Resource tag so I know injection is working. 

The stacktrace is as follows:

10:05:18,673 ERROR [org.jboss.aspects.tx.TxPolicy] javax.ejb.EJBTransactionRolledbackException: java.lang.reflect.InvocationTargetException
10:05:18,673 ERROR [org.jboss.resource.adapter.jms.inflow.JmsServerSession] Unexpected error delivering message delegator->JBossMessage[5192369433149442]:PERSISTENT, deliveryId=0: javax.ejb.EJBTransactionRolledbackException: java.lang.reflect.InvocationTargetException
	at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:115)
	at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:80)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:282)
	at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:299)
	at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:152)
	at $Proxy281.onMessage(Unknown Source)
	at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:179)
	at org.jboss.jms.client.container.ClientConsumer.callOnMessageStatic(ClientConsumer.java:160)
	at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:831)
	at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handleRun_6405193.invoke(SessionAspect_z_handleRun_6405193.java)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
	at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
	at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:236)
	at org.jboss.resource.work.WorkWrapper.run(WorkWrapper.java:172)
	at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
	at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:780)
	at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
	at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:800)
	at java.lang.Thread.run(Thread.java:619)
	at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.jboss.ejb3.interceptors.container.AbstractContainer.invokeCallback(AbstractContainer.java:262)
	at org.jboss.ejb3.EJBContainer.invokeCallback(EJBContainer.java:1161)
	at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:1170)
	at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:1181)
	at org.jboss.ejb3.pool.AbstractPool.create(AbstractPool.java:93)
	at org.jboss.ejb3.pool.AbstractPool.create(AbstractPool.java:73)
	at org.jboss.ejb3.pool.StrictMaxPool.get(StrictMaxPool.java:146)
	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:58)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
	... 34 more
Caused by: java.lang.reflect.InvocationTargetException
	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:597)
	at org.jboss.ejb3.interceptors.aop.LifecycleCallbackInterceptorMethodLazyInterceptor.invoke(LifecycleCallbackInterceptorMethodLazyInterceptor.java:109)
	at org.jboss.aop.joinpoint.ConstructionInvocation.invokeNext(ConstructionInvocation.java:79)
	at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
	at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_6405193.invoke(InvocationContextInterceptor_z_setup_6405193.java)
	at org.jboss.aop.joinpoint.ConstructionInvocation.invokeNext(ConstructionInvocation.java:79)
	at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
	at org.jboss.aop.joinpoint.ConstructionInvocation.invokeNext(ConstructionInvocation.java:79)
	at org.jboss.ejb3.interceptors.container.AbstractContainer.invokeCallback(AbstractContainer.java:258)
	... 43 more
Caused by: java.lang.RuntimeException: Error looking up java:comp/env/package.optin.notifier.OptinNotificationProcessor/context in JNDI
	at org.jboss.weld.injection.spi.helpers.AbstractResourceServices.resolveResource(AbstractResourceServices.java:51)
	at org.jboss.weld.util.Beans.injectEEFields(Beans.java:755)
	at org.jboss.weld.manager.SimpleInjectionTarget$1.proceed(SimpleInjectionTarget.java:121)
	at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:51)
	at org.jboss.weld.manager.SimpleInjectionTarget.inject(SimpleInjectionTarget.java:116)
	at org.jboss.weld.integration.ejb.SessionBeanInterceptor.postConstruct(SessionBeanInterceptor.java:97)
	... 55 more
Caused by: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NamingException: Could not dereference object [Root exception is java.lang.NullPointerException]]
	at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1356)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:819)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:835)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at org.jboss.weld.injection.spi.helpers.AbstractResourceServices.resolveResource(AbstractResourceServices.java:47)
	... 60 more
Caused by: javax.naming.NamingException: Could not dereference object [Root exception is java.lang.NullPointerException]
	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1508)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:824)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:835)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1350)
	... 65 more
Caused by: java.lang.NullPointerException
	at org.jboss.ejb3.EJBContextFactory.getObjectInstance(EJBContextFactory.java:57)
	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
	at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1483)
	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1500)
	... 70 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list