事务创建时或者是现有事务可以使用所定义的传播规则 Spring提供几种传播规则供选择
1.传播行为
PROPAGATION_MANDATORY:表示该方法必须运行在一个事务中。如果当前没有事务正在发生,将抛出一个异常。
PROPAGATION_NESTED:表示如果当前正由一个事务在进行中,则该方法应当运行在一个嵌套式事务中。被嵌套的事务可以独立于封装事务进行提交或回滚。如果封装事务不存在。行为就像PROPAGATION_REQUIRED一样。请注意各厂商对于这种传播行为的支持是参差不齐的。请参考资源管理器的文档,确定它们是否支持嵌套式事务。
PROPAGATION_NEVER:表示当前的方法不应该在一个事务上下文中运行。如果当前正有一个事务在运行,则抛出一个异常。
PROPAGATION_NOT_SUPPORTED:表示该方法不应该在一个事务中运行。如果一个现有的事务正在进行中,它将在该方法的运行期间被挂起。如果正在使用JTATransactionManager,则需要访问TransactionManager
PROPAGATION_REQUIRED:表示当前方法必须在一个事务中运行。如果一个现有的事务正在进行中,该方法将会在那个事务中运行。否则的话,就要开始一个新的事务。
PROPAGATION_REQUIRES_NEW:表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务正在运行的话,则将在这个方法运行期间被挂起。如果正在使用JTATransactionManager,则需要访问TransactionManager
PROPAGATION_SUPPORTS:表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行
2.隔离级别
ISOLATION_DEFAULT:使用后端数据库默认的隔离级别
ISOLATION_READ_UNCOMMITTED:允许读取尚未提交的更改。可能导致脏读,幻读或不可重复读
ISOLATION_READ_COMMITTED:允许从已经提交的并发事务读取。可防止脏读,但幻读和不可重复读仍可能会发生。
ISOLATION_REPEATABLE_READ:对相同字段的多次读取的结果是一致的,除非数据被当前事务本事改变。可防止脏读和不可重复读,但幻读仍可能会发生
ISOLATION_SERIALIZABLE:完全服从ACID的隔离级别,确保不发生脏读,不可重复读和幻读。这在所有隔离级别中也是最慢的,因为它通常是通过完全锁定当前事务所涉及的数据表来完成的
3.事务五边形的这6个方面在<tx:mathod>元素的参数里指定
isolation:指定事务隔离级别
no-rollback-for:指定对于哪些异常当前事务应该继续执行而不要回滚
propagation:定义事务的传播规则
read-only:指定一个事务为只读
rollback-for:指定对于哪些受阻异常应该回滚事务而不要提交
timeout:为一个长时间运行的事务定义超时
分享到:
相关推荐
Spring in Action中文清晰版(带阅读笔记). Spring in Action中文清晰版(带阅读笔记).
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action CN.005<br>Spring in Action CN.006<br>Spring in Action CN.007<br>Spring in ...
Spring in action的学习笔记,里面有许多代码示例,部分内容是自己根据多方面资料综合而成
Spring in Action, 5th Edition is the fully updated revision of Manning's bestselling Spring in Action. This new edition includes all Spring 5.0 updates, along with new examples on reactive programming...
Spring in Action第三版,中文pdf,带书签和书中源码!
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
Spring in action Spring in action Spring in action Spring in action Spring in action Spring in action
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础... 中文版.part5.rar Spring in Action. 中文版.part6.rar Spring in Action. 中文版.part7.rar Spring in Action. 中文版.part8.rar
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action CN.005<br>Spring in Action CN.006<br>Spring in Action CN.007<br>Spring in ...
Spring in Action中文清晰版(带阅读笔记)
spring in action所需jar包
Spring In Action中文版+英文版+文中源码 Spring In Action中文版+英文版+文中源码
Spring in Action5最新英文版 After nearly 15 years of working with Spring and having written five editions of this book (not to mention Spring Boot in Action), you’d think that it’d be hard to come ...
Spring Security in Action
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础... 中文版.part5.rar Spring in Action. 中文版.part6.rar Spring in Action. 中文版.part7.rar Spring in Action. 中文版.part8.rar
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础... 中文版.part5.rar Spring in Action. 中文版.part6.rar Spring in Action. 中文版.part7.rar Spring in Action. 中文版.part8.rar
spring in action second edition
Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏《Spring in Action中文版》中的示例代码。《Spring in Action中文版》最后4章描述了Spring是如何为Web层开发提供支持的,如果...
Spring in Action 中文 清晰版.part5Spring in Action 中文 清晰版.part5