我在使用spring 3.1&amp ;;的应用程序中遇到了一个问题。冬眠3.6。
我有两个服务类ServiceA& ServiceB。 ServiceB.dbInsert()方法具有'REQUIRES_NEW'tx属性,ServiceA在类级别具有'REQUIRED'。
1.当我正常执行时 - ServiceB.dbInsert()插入的数据被提交给DB - 这很精细。
2.当我在eclipse中使用调试模式使ServiceB.dbInsert()的tx失败时,Tx被回滚 - 这很精细。
3.在上面的情况2中,如果我重试该操作,即在失败后从ServiceA调用ServiceB.dbInsert(),则不会提交ServiceB.dbInsert()插入的数据。 - 这是一个问题。
在上述所有情况下,都应用Spring Transaction Advice并调用spring的doCommit()(除了发生回滚的情况2)。
目前尚不清楚为什么CASE 3有这个问题。没有异常抛出。在调试模式下彻底检查过。