Jboss Fuse Aries XA transactions issue. XA Datasource is setup using Aries-XA auto enlistment.
データソースを公開するための Blueprint-xml
<service interface="javax.sql.XADataSource" ref="oracle-XA-DB">
<service-properties>
<entry key="datasource.name" value="oracleXADB" />
<entry key="aries.xa.name" value="oracle-XA-DB" />
<entry key="aries.xa.username" value="${datasource.user}" />
<entry key="aries.xa.password" value="${datasource.password}" />
<entry key="aries.xa.pooling" value="true" />
<entry key="aries.xa.poolMinSize" value="0" />
<entry key="aries.xa.poolMaxSize" value="10" />
<entry key="aries.xa.exceptionSorter" value="known" />
<entry key="aries.xa.transaction" value="none" />
</service-properties>
</service>
This datasource exposed is retrieved using mybatis-component to execute the database operations. The XA commit, roll-backs are working fine for the initial few transactions. Later, the entire bundles dependent upon the datasource fails with the following exception. Once, the bundles are restarted, the services are working fine, but only for a limited time.
スタックトレース org.apache.camel.impl.DefaultMessage|メソッド名: autoSave|ログ データ: On Exception エラー MSG|例外メッセージ:JTA トランザクションが予期せずロールバックされました (タイムアウトが原因の可能性があります)。ネストされた例外は javax.transaction.RollbackException: コミットできません: ロールバックのマークが付けられたトランザクション|Exception StackTrace :org.springframework.transaction.UnexpectedRollbackException: JTA トランザクションが予期せずロールバックされました (タイムアウトが原因の可能性があります)。ネストされた例外は javax.transaction.RollbackException: コミットできません: org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1015) でロールバックのマークが付けられたトランザクションです。org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager .java:755) org.springframework.transaction で。