JBoss EAP で MS SQL Server の XA リカバリーにおいて XAException "SQLJDBC_XA DTC_ERROR" が発生する
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 DTC で XA を有効にする
- SqlJDBCXAUser ロールを付与する
- Microsoft DTC サービスを再起動する
詳細は 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.
Comments