【发布时间】:2011-08-10 18:06:46
【问题描述】:
在http://www.vermatech.com/code/SpringTransactionExamples.html 给出的第一个案例研究中, 程序正在调用两个方法,即
testModel.deleteAllCountries();
testModel.initializeCountries();
initializeCountries 抛出运行时异常。对于这两种方法的事务定义属性都是 PROPAGATION_REQUIRED。 deleteAllCountries 下的仍然事务 方法被提交,但 initializeCountries 下的事务被回滚(根据同一案例研究中给出的日志)。
根据 PROPAGATION_REQUIRED 的定义是它支持当前事务;如果不存在,则创建一个新的。所以我的问题是initializeCountries方法下的事务 应该支持 deleteAllCountries 方法下的事务。我的意思是这两种方法都应该被视为单一交易。根据我的理解,应该提交还是回滚完整的事务?不知道日志是如何将它们分开处理的。
【问题讨论】:
标签: java spring jakarta-ee spring-transactions