JBoss EAP で MS SQL Server の XA リカバリーにおいて XAException "SQLJDBC_XA DTC_ERROR" が発生する

Solution Verified - Updated -

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 4
    • 5
    • 6
  • Microsoft (MS) SQL Server

Issue

  • XA リカバリーを試みるたびに、次の WARN メッセージが server.log に記録されます。
...WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027:Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException:The function RECOVER: failed.The status is:-3.Error:"*** SQLJDBC_XA DTC_ERROR Context: xa_recover, state=1, StatusCode:-3 (0xFFFFFFFD) ***"
    at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:550)
    at com.microsoft.sqlserver.jdbc.SQLServerXAResource.recover(SQLServerXAResource.java:728)
    at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.recover(XAManagedConnection.java:362)
    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)
    at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:431)
    at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:212)
    at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789)
    at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)

Resolution

以下のような解決策が考えられます。

詳細は Microsoft が提供するドキュメントを参照するか、Microsoft Support までご連絡ください。

Root Cause

Microsoft コードに SQLJDBC_XA DTC_ERROR が挙げられました。

このエラーは、Microsoft Distributed Transaction Coordinator (MS DTC) の設定が不完全または間違っているか、サービスを再起動する必要があることを示している可能性があります。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.