2017.5.27 使用propagation实现:根据参数决定是否需要事务管理

Posted 七月流火嗞嗞嗞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.5.27 使用propagation实现:根据参数决定是否需要事务管理相关的知识,希望对你有一定的参考价值。

1.功能描述

要实现rest接口:POST ***/entry,其中参数中有action参数。

1 当action=rollback时,批量新增出错时需要回滚。
2 当action!=rollback时,批量新增出错时跳过,处理下一条记录。

 

2.spring事务管理的注解式实现

之前总结过完整的spring事务管理:2017.4.18 慕课网-spring事务管理总结

1 @Transactional注解属性配置:不写的时候按默认值配置。
2 * propagation : 事务的传播行为。
3 * isolation:事务的隔离级别。
4 * readOnly:false/true,只读,数据库不可以进行插入、修改、删除等操作。
5 * rollbackFor:发生哪些异常时进行事务回滚。
6 * noRollbackFor:发生哪些异常时不进行事务回滚。
7 * time-out:过期信息。
8 
9 @Transactional(propagation=Propagation.REQUIRED, isolation=Isolation.DEFAULT, readOnly=false,...)

 

3.功能实现

参考来自:http://blog.sina.com.cn/s/blog_667ac0360102ebem.html

3.1 类上加@Transactional注解

 

 

3.2 方法上加@Transactional(propagation=Propagation.NOT_SUPPORTED)

 

3.3 调用时区分参数值

 

 

以上是关于2017.5.27 使用propagation实现:根据参数决定是否需要事务管理的主要内容,如果未能解决你的问题,请参考以下文章

Back Propagation后向传播算法 Python实现

Affinity Propagation聚类算法的实现

手动实现 NSTabViewController 的 Rect Transition 及 Propagate Title-b

Affinity Propagation聚类算法的实现

spring事务-说说Propagation及其实现原理

何时使用 Spring @Transactional (propagation = Propagation.SUPPORTS)?