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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user