1 Reply Latest reply on May 16, 2008 12:36 PM by Adrian Brock

    Deploying legacy (EJB2.x) MDB on JBoss 4.2 gives error

    whafrog Newbie

      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.

      <?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">
       <message-selector>messageType = 'request'</message-selector>

      <?xml version="1.0" encoding="UTF-8"?>
      <container-configurations />
      <resource-managers />

      Any thoughts? Or do I have to rewrite this to EJB3?