Message Bean Error.
flanders May 17, 2002 11:23 AMI've problem when Message-driven-bean listen to event. Anyone can help. I'm using JBoss 2.4.4 with Tomcat 4.0.1
[11:15:52,688,JMSContainerInvoker] processing message: TextMessage@Hello from Wei.
[11:15:52,688,TxInterceptorCMT] Begin runWithTransactions
[11:15:52,688,TxInterceptorCMT] Current transaction in MI is null
[11:15:52,688,TxInterceptorCMT] Current thread transaction is null
[11:15:52,688,TxInterceptorCMT] Current method public abstract void javax.jms.MessageListener.onMessage(javax.jms.Message)
[11:15:52,688,TxInterceptorCMT] TX_NOT_SUPPORTED for onMessage
[11:15:52,688,TxInterceptorCMT] TX_NOT_SUPPORTED begin
[11:15:52,688,MessageDrivenInstancePool] Get instance org.jboss.ejb.plugins.MessageDrivenInstancePool@2d603#true#class com.wei.system.message.WxMessageSubscriber
[11:15:52,698,TxInterceptorCMT] TX_NOT_SUPPORTED end
[11:15:52,698,JMSContainerInvoker] Exception in JMSCI message listener
java.lang.NoSuchMethodException
at java.lang.Class.getMethod0(Native Method)
at java.lang.Class.getMethod(Class.java:888)
at org.jboss.ejb.MessageDrivenEnterpriseContext.(MessageDrivenEnterpriseContext.java:59)
at org.jboss.ejb.plugins.MessageDrivenInstancePool.create(MessageDrivenInstancePool.java:58)
at org.jboss.ejb.plugins.AbstractInstancePool.add(AbstractInstancePool.java:153)
at org.jboss.ejb.plugins.AbstractInstancePool.internalGet(AbstractInstancePool.java:216)
at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:191)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:73)
at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:138)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:277)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:127)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
at org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:281)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:584)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:930)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:233)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:565)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:376)
at org.jboss.mq.SpySession.run(SpySession.java:248)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:172)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:725)
at java.lang.Thread.run(Thread.java:484)
I've put the following codes in ejb-jar.xml
<message-driven>
<ejb-name>WxMessageSubscriberEJB</ejb-name>
<ejb-lass>com.wei.system.message.WxMessageSubscriber</ejb-lass>
<message-selector></message-selector>
<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Topic</destination-type>
<subscription-durability>NonDurable</subscription-durability>
</message-driven-destination>
</message-driven>
<assembly-descriptor>
<container-transaction>
<ejb-name>WxMessageSubscriberEJB</ejb-name>
<method-name>*</method-name>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>