1 Reply Latest reply on May 27, 2014 1:35 AM by robert.panzer

    MDB deployment hangs due to moving Resource Adapter IDs between JBoss AS 7.2.0 and EAP 6.+

    robert.panzer

      Hi,

       

      I have MDBs with custom listener interfaces that are bound to the resource adapter via the jboss-ejb3.xml.

      The resource adapter archive is also part of the application.

      Up to now I had an ironjacamar.xml in the rar file and I bound the MDB to the resource adapter like this:

      <?xml version="1.0" encoding="UTF-8"?>

      <jboss:ejb-jar

              xmlns:jboss="http://www.jboss.com/xml/ns/javaee"

              xmlns="http://java.sun.com/xml/ns/javaee"

              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

              xmlns:mdb="urn:resource-adapter-binding"

              xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd

                 http://java.sun.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-spec-2_0.xsd"

              version="3.1"

              impl-version="2.0">

        <enterprise-beans>

        <assembly-descriptor>

              <mdb:resource-adapter-binding>

                  <ejb-name>TestBean</ejb-name>

                  <mdb:resource-adapter-name>Test.ear#test.rar</mdb:resource-adapter-name>

              </mdb:resource-adapter-binding>

          </assembly-descriptor>

      </jboss:ejb-jar>

       

      Now I removed the ironjacamar.xml from the rar file and added a resource-adapter tag to the standalone-full.xml:

       

      <resource-adapter id="test.rar">

         <archive>Test.ear#test.rar</archive>

         ...

      </resource-adapter>


      On JBoss AS 7.2.0 everything still works fine.

      But when I start that on an EAP 6.2 the deployment hangs because the MDB cannot be activated.

      It works again if I change the jboss-ejb3.xml like this:


              <mdb:resource-adapter-binding>

                  <ejb-name>TestBean</ejb-name>

                  <mdb:resource-adapter-name>test.rar</mdb:resource-adapter-name>

              </mdb:resource-adapter-binding>

      So it seems that the id from the server configuration is used.

       

      But then the deployment hangs on AS 7.2.0...

       

      Is my observation correct? Or did I get something wrong?

      If it is correct is there a way to get the MDB working on both versions, AS 7.2.0 and EAP 6.+?

       

      Thank you & kind regards,

      Robert

        • 1. Re: MDB deployment hangs due to moving Resource Adapter IDs between JBoss AS 7.2.0 and EAP 6.+
          robert.panzer

          Simple solution seems to be to set the id of the resource-adapter element to the same string as the archive name.

          That means instead of

              <resource-adapter id="test.rar">

                  <archive>Test.ear#test.rar</archive>

                  ...

              </resource-adapter>


          define this

              <resource-adapter id="Test.ear#test.rar">

                  <archive>Test.ear#test.rar</archive>

                  ...

              </resource-adapter>


          and bind the MDB to this common name:

                  <mdb:resource-adapter-binding>

                      <ejb-name>TestBean</ejb-name>

                      <mdb:resource-adapter-name>Test.ear#test.rar</mdb:resource-adapter-name>

                  </mdb:resource-adapter-binding>