我有一个代码,我通过JPA更新一个数据库,并通过webservice更新1个数据库。但是如果我从webservcie获得一些异常,我的JPA事务就没有得到回滚。你能否建议我如何让JPA + Webservice作为XA Transaction
工作<bean id="transactionManager" class="org.springframework.transaction.jta.WebSphereUowTransactionManager">
</bean>
<jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/persistenceUnit"/>
<tx:annotation-driven/>
我的java类如下所示
@Transactional
public void method1()
{
// persist database1 through JPA
// persist database2 through Webservice
}
答案 0 :(得分:1)
Web服务调用抛出了什么类型的异常?
默认行为是RuntimeExceptions的回滚,因此如果ws抛出已检查的异常,则不会回滚,尽管您可以使用以下命令进行更改:
@Transactional(rollbackFor = Exception.class)