[jboss-user] [Messaging, JMS & JBossMQ] - Deploying legacy (EJB2.x) MDB on JBoss 4.2 gives error
whafrog
do-not-reply at jboss.com
Thu Apr 24 15:23:27 EDT 2008
As there seems to be a basic incompatibility with version 4.2.0 connecting to a message queue hosted on legacy version 3.0.3 (issue posted on the JNDI board), I thought I'd just move the legacy app containing the message bean to version 4.2.0. In theory I should just be able to take the .jar file containing the message bean and deploy it. No special configuration required as the legacy app uses "queue/testQueue".
After fixing an ejb-jar.xml issue that 3.0.3 didn't have a problem with, I now get this error on 4.2.0:
13:57:43,375 WARN [verifier] EJB spec violation:
| Bean : AutoCreditMessageBean
| Section: 15.7.2
| Warning: A message driven bean must implement, directly or indirectly, the message listener class
But it does:
public class AutoCreditMessageBean implements javax.ejb.MessageDrivenBean, javax.jms.MessageListener
| {
| ...
| }
And the deployment descriptor specifies it.
ejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
|
| <ejb-jar>
| <enterprise-beans>
| <message-driven>
|
| <ejb-name>AutoCreditMessageBean</ejb-name>
| <ejb-class>org.myorg.AutoCreditMessageBean</ejb-class>
|
| <transaction-type>Container</transaction-type>
| <message-selector>messageType = 'request'</message-selector>
| <messaging-type>javax.jms.MessageListener</messaging-type>
|
| <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
|
| <message-driven-destination>
| <destination-type>javax.jms.Queue</destination-type>
| </message-driven-destination>
|
| </message-driven>
|
| </enterprise-beans>
|
| <assembly-descriptor>
| </assembly-descriptor>
|
| </ejb-jar>
jboss.xml:
<?xml version="1.0" encoding="UTF-8"?>
|
| <jboss>
|
| <secure>false</secure>
|
| <container-configurations />
|
| <resource-managers />
|
| <enterprise-beans>
|
| <message-driven>
| <ejb-name>AutoCreditMessageBean</ejb-name>
| <destination-jndi-name>queue/testQueue</destination-jndi-name>
| </message-driven>
|
| </enterprise-beans>
| </jboss>
Any thoughts? Or do I have to rewrite this to EJB3?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4146620#4146620
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4146620
More information about the jboss-user
mailing list