4 Replies Latest reply on Jan 17, 2006 4:52 AM by Fabian Crabus

    ActiveMQ + EJB3 MDB Integration failure

    selvan_r Newbie

      I followed the instructions provided in the activeMQ web site to integrate the JBoss and ActiveMQ. see ActiveMQ+JBoss Integration

      1. Included the jboss.xml in the EJB3 with a different inflow container for the MDB (using the instruction).
      2. Anontated the MDB for the destination and destination type using the ActiveConfigProperties.
      3. When I deployed it, the MDB initialization erroring that the DefaultJMSProvider is not found in the JNDI. To fix that error I added the DefaultJMSProvider definition to the ds.xml file and got another error about the StdJMSPool not found and added that too. Which lead me another exception from the activeMQ JMSConnectionProxy saying that the createConnectionConsumer is not supported.

      It seems that MDB initialization is ignoring the container definition provided in the jboss.xml (in the ejb3 file).

      Any help on this will be really appreciated!

      Alternatively I am thinking of using the Jencks (JCA support for ActiveMQ) with spring running on Jboss. Is it good idea to do so?

      Thanks
      /selvan



        • 1. Re: ActiveMQ + EJB3 MDB Integration failure
          William DeCoste Apprentice

          Take a look at the jca/inflow/swiftmq tutorial - should be similiar to ActiveMQ. This is currently available in the jboss-head project on CVS. The tutorial will also be available ni EJB3 RC4.

          I will test with ActiveMQ

          • 2. Re: ActiveMQ + EJB3 MDB Integration failure
            selvan_r Newbie

            Thanks for the response.

            Does this configuration work on the EJB3 RC3 release or do I build from the source?

            Thanks again

            • 3. Re: ActiveMQ + EJB3 MDB Integration failure
              Fabian Crabus Newbie

              I can't get this to run on EJB3 RC3. So is it only supported in RC4?
              Or is possible and I'm just an idiot unable to configure it correctly?

              • 4. Re: ActiveMQ + EJB3 MDB Integration failure
                Fabian Crabus Newbie

                I've checked out JBoss Head and tried to deploy my MDBs there.

                I still get errors.

                My annotations:
                @MessageDriven(activationConfig =
                {
                @ActivationConfigProperty(propertyName="messagingType", propertyValue="javax.jms.MessageListener"),
                @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
                @ActivationConfigProperty(propertyName="destination", propertyValue="queue/testqueue"),
                @ActivationConfigProperty(propertyName="connectionFactoryName", propertyValue="activemq/QueueConnectionFactory"),
                @ActivationConfigProperty(propertyName="resourceAdaptorName", propertyValue="activemq-ra-3.2.1.rar")
                })

                The errors:
                2006-01-17 10:44:17,370 WARN [org.jboss.ejb3.mdb.MDB] JMS provider failure
                detected:
                javax.jms.JMSException: Error creating the dlq connection: queue not bound
                at org.jboss.ejb3.mdb.DLQHandler.createService(DLQHandler.java:153)
                at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupp
                ort.java:260)
                at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:188)
                at org.jboss.ejb3.mdb.MDB.setupDLQ(MDB.java:860)
                at org.jboss.ejb3.mdb.MDB.innerCreate(MDB.java:374)
                at org.jboss.ejb3.mdb.MDB.start(MDB.java:239)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
                :39)
                ...

                Has anyone managed to get ActiveMQ to run with annotations?
                I've checked the SwiftMQ samples...but that didn't help either...
                (without annotations it works)

                Thanks