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),
打开一个新的事务,就不会报错了。
希望对您有帮助。
本文介绍了如何解决Was7.0中出现的WTRN0063E错误,该错误通常发生在使用XA JDBC数据源时,在一个事务方法内调用了另一个service的事务方法。通过在调用方法前添加@TransactionAttribute注解并设置为REQUIRES_NEW属性,可以打开一个新的事务,从而避免错误的发生。
8174

被折叠的 条评论
为什么被折叠?



