was7.0報的錯誤,內容如下:
WTRN0063E: An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred.
WTRN0086I: XAException encountered during prepare phase for transaction 0000011A0AE7CD2600000001000075146FDBF30CF4C7045A6DBA14C29B2DCF6E243ECC610000011A0AE7CD2600000001000075146FDBF30CF4C7045A6DBA14C29B2DCF6E243ECC6100000001. Local resources follow.
WTRN0089I: XATransactionWrapper@ 207b9bf7 XAResource: com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@207a9bf7 enlisted: true mcWrapper.hashCode()537353207: Vote: commit.
WTRN0089I: LocalTransactionWrapper@:85bdb8c localTransaction:com.ibm.ws.rsadapter.spi.WSRdbSpiLocalTransactionImpl@625b1b81 enlisted:true registeredForSynctruemcWrapper.hashcode()139582348: Vote: none.
使用的是xa的jdbc資料來源,原因是在一個事務方法裡調用了另一個service的事務方法,
解決辦法是,在調用新的方法的上面聲明@TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW),
開啟一個新的事務,就不會報錯了。
希望對您有協助。