[jboss-user] [Messaging, JMS & JBossMQ] - EJB3 MDB error when reading a message in JBossMQ

sonicfab do-not-reply at jboss.com
Sun Jun 15 13:37:16 EDT 2008


Hi. I'm using JBoss 4.2.2.GA with EJB3 MDBs and Spring to inject the MDB's business logic. I'm getting an error related to the MDB's lifecyle.
Here's my MDB code :
package com.acme.impl;
  | 
  | 
  | import javax.annotation.Resource;
  | import javax.ejb.ActivationConfigProperty;
  | import javax.ejb.MessageDriven;
  | import javax.ejb.MessageDrivenContext;
  | import javax.interceptor.Interceptors;
  | import javax.jms.Message;
  | import javax.jms.MessageListener;
  | 
  | import org.springframework.beans.factory.annotation.Autowired;
  | import org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor;
  | 
  | import com.acme.api.MDBDelegate;
  | 
  | /**
  |  * @author fcoppens
  |  */
  | 
  | @MessageDriven(name="QueueListenerMDB", activationConfig = {
  |     @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
  |     @ActivationConfigProperty(propertyName="destination", propertyValue="queue/testQueue")
  | 
  | })
  | @Interceptors(SpringBeanAutowiringInterceptor.class)
  | public class QueueListenerMDB implements MessageListener {
  | 
  |     @Resource
  |     private MessageDrivenContext context;
  |     
  |     @Autowired
  |     private MDBDelegate delegate;
  |     
  |     public void onMessage(Message message) {
  |     	delegate.onMessage(message);
  |     }
  | }

The MDB is deployed correctly on JBoss without any errors.
When I post a message on the queue, here's the error stack I get :
2008-06-15 17:47:06,843 ERROR [org.jboss.resource.adapter.jms.inflow.JmsServerSes sion] Unexpected error delivering message org.jboss.mq.SpyObjectMessage {
Header {
jmsDestination : QUEUE.testQueue
jmsDeliveryMode : 2
jmsExpiration : 0
jmsPriority : 4
jmsMessageID : ID:11-12135448268281
jmsTimeStamp : 1213544826828
jmsCorrelationID: null
jmsReplyTo : null
jmsType : null
jmsRedelivered : false
jmsProperties : {}
jmsPropReadWrite: false
msgReadOnly : true
producerClientId: ID:11
}
}
java.lang.RuntimeException: java.lang.NullPointerException
at org.jboss.ejb3.interceptor.LifecycleInterceptorHan dler.postConstruct(LifecycleInterceptorHandler.jav a:113)
at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJ BContainer.java:619)
at org.jboss.ejb3.AbstractPool.create(AbstractPool.ja va:131)
at org.jboss.ejb3.StrictMaxPool.get(StrictMaxPool.jav a:141)
at org.jboss.ejb3.stateless.StatelessInstanceIntercep tor.invoke(StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNex t(MethodInvocation.java:101)
at org.jboss.ejb3.mdb.MessagingContainer.localInvoke( MessagingContainer.java:249)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy. delivery(MessageInflowLocalProxy.java:268)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy. invoke(MessageInflowLocalProxy.java:138)
at $Proxy197.onMessage(Unknown Source)
at org.jboss.resource.adapter.jms.inflow.JmsServerSes sion.onMessage(JmsServerSession.java:178)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerPro cessMessage(SpyMessageConsumer.java:891)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMess ageConsumer.java:170)
at org.jboss.mq.SpySession.run(SpySession.java:323)
at org.jboss.resource.adapter.jms.inflow.JmsServerSes sion.run(JmsServerSession.java:237)
at org.jboss.resource.work.WorkWrapper.execute(WorkWr apper.java:204)
at org.jboss.util.threadpool.BasicTaskWrapper.run(Bas icTaskWrapper.java:275)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Wo rker.run(PooledExecutor.java:756)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.jboss.mx.loading.RepositoryClassLoader.findCla ss(RepositoryClassLoader.java:630)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at org.jboss.mx.loading.RepositoryClassLoader.loadCla ssImpl(RepositoryClassLoader.java:474)
at org.jboss.mx.loading.RepositoryClassLoader.loadCla ss(RepositoryClassLoader.java:415)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 99)
at java.net.FactoryURLClassLoader.loadClass(URLClassL oader.java:579)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 99)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at org.springframework.util.ClassUtils.forName(ClassU tils.java:249)
at org.springframework.beans.factory.support.Abstract BeanDefinition.resolveBeanClass(AbstractBeanDefini tion.java:381)
at org.springframework.beans.factory.support.Abstract BeanFactory.resolveBeanClass(AbstractBeanFactory.j ava:1135)
at org.springframework.beans.factory.support.Abstract BeanFactory.resolveBeanClass(AbstractBeanFactory.j ava:1102)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory$1.run(AbstractAutowireC apableBeanFactory.java:386)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 64)
at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:217)
at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:261 )
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:168)
at org.springframework.context.support.AbstractApplic ationContext.getBean(AbstractApplicationContext.ja va:885)
at org.springframework.beans.factory.access.Singleton BeanFactoryLocator.useBeanFactory(SingletonBeanFac toryLocator.java:397)
at org.springframework.ejb.interceptor.SpringBeanAuto wiringInterceptor.getBeanFactoryReference(SpringBe anAutowiringInterceptor.java:139)
at org.springframework.ejb.interceptor.SpringBeanAuto wiringInterceptor.getBeanFactory(SpringBeanAutowir ingInterceptor.java:120)
at org.springframework.ejb.interceptor.SpringBeanAuto wiringInterceptor.autowireBean(SpringBeanAutowirin gInterceptor.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.ejb3.interceptor.LifecycleInvocationCont extImpl.proceed(LifecycleInvocationContextImpl.jav a:131)
at org.jboss.ejb3.interceptor.LifecycleInterceptorHan dler.postConstruct(LifecycleInterceptorHandler.jav a:109)
... 18 more

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4158224#4158224

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4158224



More information about the jboss-user mailing list