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),
打开一个新的事务,就不会报错了。
希望对您有帮助。