[weld-issues] [JBoss JIRA] Resolved: (WELD-463) Unable to inject MessageDrivenContext into a Message Driven Bean
Nicklas Karlsson (JIRA)
jira-events at lists.jboss.org
Wed Mar 10 04:36:37 EST 2010
[ https://jira.jboss.org/jira/browse/WELD-463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicklas Karlsson resolved WELD-463.
-----------------------------------
Resolution: Done
Assignee: Nicklas Karlsson
Added a MessageDrivenInjectionTarget that extends SimpleInjectionTarget and overrides inject(T, CreationalContext<T>) and skips the EE resource parts. Had to loosen some privates to protected. Need to evaluate an AbstractInjectionTarget if there are more cases...
> 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
> Assignee: Nicklas Karlsson
> Fix For: 1.0.2.CR1
>
>
> 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