3 Replies Latest reply on Feb 10, 2014 8:36 AM by grmpf2

    JBoss EAP 6.2, periodic recovery and Websphere MQ

    grmpf2

      Starting with 6.2, I get the following exception every 2 minutes after start:

      17:05:32,556 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) started in 38835ms - Started 683 of 759 services (75 services are passive or on-demand)

      17:07:33,763 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_INVAL: javax.transaction.xa.XAException: The method 'xa_recover' has failed with errorCode '-5'.

        at com.ibm.mq.jmqi.JmqiXAResource.recover(JmqiXAResource.java:806)

        at com.ibm.mq.connector.RecoveryXAResource.recover(RecoveryXAResource.java:448)

        at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:177)

        at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:709) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

        at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:431) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

        at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:212) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

      wmq.jmsra.rar is deployed as MDB resource adapter.


      It seems that the periodic XA recovery for JMS was not activated in 6.1 at all which would explain why exceptions like this never showed up.

       

      Does anybody know if this exceptions is something to worry about or if this recovery step can be safely disabled (as I said, it seems that it was not called in 6.1)?


      Thanks,

      Matthias

        • 1. Re: JBoss EAP 6.2, periodic recovery and Websphere MQ
          grmpf2

          Some more details because I also upgraded to the latest WMQ resource adapter without success.

           

          I tested against

          - JBoss EAP 6.2.0 Release

          - Websphere MQ Resource Adapter 7.5.0.1 and 7.5.0.2

           

          It is relatively easy to reproduce this behavior with a trivial MDB and minimal configuration changes against the delivered configuration file. This makes me nervous since the JBoss 6.2.0 EAP Release Notes state:

          WebSphere MQ Certification

          Integration with WebSphere MQ via the WebSphere MQ resource adapter has been tested and certified.

          Against which WMQ version was the certification done?

           

           

          Behavior can be reproduced with the following steps:

           

          (1) Deploy wmq.jmsra.rar

          (2) Setup MDB section in standalone-full.xml to use wmq.jmsra.rar as resource adapter

          <mdb>

              <resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"/>

              ...

          (3) Setup resource adapter section in standalone-full.xml with an admin-object for an MDB

          <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">

              <resource-adapters>

                  <resource-adapter id="wmq.jmsra.rar">

                      <archive>

                         wmq.jmsra.rar

                      </archive>

                      <transaction-support>NoTransaction</transaction-support>

                      <connection-definitions>

                      </connection-definitions>

                      <admin-objects>

                          <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/jms/queue/CEIMOCKRequestQueue" pool-name="CEIMOCKRequestQueuePool">

                              <config-property name="baseQueueManagerName">

                                  wmq-hostname

                              </config-property>

                              <config-property name="baseQueueName">

                                  mdb-request-queue-name

                              </config-property>

                          </admin-object>

                      </admin-objects>

                  </resource-adapter>

              </resource-adapters>

          </subsystem>

           

          (4) Deploy a simple application with an MDB referencing the admin-object above

          (5) Start JBoss against the edited standalone-full.xml and wait about two minutes for the first exception to appear.

           

          Any help/hint is greatly appreciated.

           

          Thanks,

          Matthias

          • 2. Re: JBoss EAP 6.2, periodic recovery and Websphere MQ
            dstockdreher

            Not sure if you got passed this issue already,  but we ran into 2 seperate issues with regards to the interaction of the JBoss JCA and the periodic recovery fix that first showed up in the 6.1.1 release.

             

            The first issue was the exception you have above, which was fixed in the 7.0.1.10 version of the Websphere resource adapter.   This left us with just a warning in the logs after that which was fixed by a subsequent  patched Resource Adapter provided by IBM.

            • 3. Re: JBoss EAP 6.2, periodic recovery and Websphere MQ
              grmpf2

              Thanks for your feedback.

              Some weeks ago, I also found it in the Websphere MQ fix list. Here is the link:

               

              http://www-01.ibm.com/support/docview.wss?uid=swg1IC97579

              1 of 1 people found this helpful