Atomikos Forum

MQ 7.5: The method 'xa_recover' has failed with errorCode '-3'

During the initialization of the connection factory bean, I see the following stack trace. It is a minimal test program which tries to send a message via JMS. Sending a message itself seems to work. The MQXAQueueConnectionFactory is constructed programatically (no JNDI).

Setup:
 - Java 7.0.25
 - WebSphere MQ 7.5.0.2 (client and server)
 - OS: RHEL 6.4 (64bit) or Win 32bit, same behaviour
 - transactions-osgi-3.9.2.jar

WARNING: Error in recovery
javax.transaction.xa.XAException: The method 'xa_recover' has failed with errorCode '-3'.
        at com.ibm.mq.jmqi.JmqiXAResource.recover(JmqiXAResource.java:806)
        at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:554)
        at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)
        at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)
        at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
        at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)
        at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435)
        at com.atomikos.icatch.system.Configuration.addResource(Configuration.java:386)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.doInit(AtomikosConnectionFactoryBean.java:441)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.init(AtomikosConnectionFactoryBean.java:360)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.createConnection(AtomikosConnectionFactoryBean.java:615)
        at AtomikosMinimalTest.produceOrConsumeMessage(AtomikosMinimalTest.java:73)
        at AtomikosMinimalTest.main(AtomikosMinimalTest.java:108)

Mar 17, 2014 11:46:19 AM com.atomikos.logging.JULLogger logWarning
WARNING: ERROR IN RECOVERY
com.atomikos.datasource.ResourceException: Error in recovery
        at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:565)
        at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)
        at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)
        at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
        at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)
        at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435)
        at com.atomikos.icatch.system.Configuration.addResource(Configuration.java:386)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.doInit(AtomikosConnectionFactoryBean.java:441)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.init(AtomikosConnectionFactoryBean.java:360)
        at com.atomikos.jms.AtomikosConnectionFactoryBean.createConnection(AtomikosConnectionFactoryBean.java:615)
        at AtomikosMinimalTest.produceOrConsumeMessage(AtomikosMinimalTest.java:73)
        at AtomikosMinimalTest.main(AtomikosMinimalTest.java:108)
Alexander Frink Send private email
Monday, March 17, 2014
 
 
I found the solution: The user needs DISPLAY authority on the queue manager to perform xa_recover. This is not required for non-XA get/put operations.
Alexander Frink Send private email
Thursday, March 20, 2014
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics