【发布时间】:2011-12-23 21:20:55
【问题描述】:
情况如下:
Method1 中有四种数据库更新方法。 Method1 使用 Spring 事务管理语义进行注释。
Method2 中有一个数据库读取方法,它在 Method1 执行完所有数据库更新后调用。 Method2 也使用 Spring 事务语义注解。
有web请求进来,控制器拦截请求,调用method1,然后调用method2。
交易也被包裹在网络请求周围。
我有兴趣知道的是:
1.Spring如何知道在事务成功后提交数据库更新?是否有一些关于执行事务管理的 Spring 实现的参考?
2.由于我们有交易的层次结构: 围绕 web-request->Transaction with Propagation=RequestNew for Method1->Transaction with Propagation=Required for Method2,Spring如何进行事务管理以确保事务在正确的上下文中以正确的顺序执行?
简而言之,如果能够逐一了解 Spring 如何在其所有最重要的细节中执行事务管理,或者参考文档而不是简单地以 JTA 或其他一些为中心的解释,那将是很棒的首字母缩略词。
谢谢
【问题讨论】:
标签: java spring transactions internals