永发信息网

spring传播特性怎么实现的

答案:2  悬赏:40  手机版
解决时间 2021-03-08 11:08
spring传播特性怎么实现的
最佳答案
Spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。
其实这种是不认识 Spring 事务传播机制而造成的误解,Spring 对事务控制的支持统一在 TransactionDefinition 类中描述,该类有以下几个重要的接口方法:
int getPropagationBehavior():事务的传播行为
int getIsolationLevel():事务的隔离级别
int getTimeout():事务的过期时间
boolean isReadOnly():事务的读写特性。
很明显,除了事务的传播行为外,事务的其它特性 Spring 是借助底层资源的功能来完成的,Spring 无非只充当个代理的角色。但是事务的传播行为却是 Spring 凭借自身的框架提供的功能,是 Spring 提供给开发者最珍贵的礼物,讹传的说法玷污了 Spring 事务框架最美丽的光环。
所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播。Spring 支持 7 种事务传播行为:
PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与 PROPAGATION_REQUIRED 类似的操作。
Spring 默认的事务传播行为是 PROPAGATION_REQUIRED,它适合于绝大多数的情况。假设 ServiveX#methodX() 都工作在事务环境下(即都被 Spring 事务增强了),假设程序中存在如下的调用链:Service1#method1()->Service2#method2()->Service3#method3(),那么这 3 个服务类的 3 个方法通过 Spring 的事务传播机制都工作在同一个事务中。
全部回答
spring中通过propagation来设置事务的传播属性的,在这个属性中提供了我们其中关于事务传播的特性: 1. propagation_required:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 2. propagation_supports:支持当前事务,如果当前没有事务,就以非事务方式执行。 3. propagation_mandatory:支持当前事务,如果当前没有事务,就抛出异常。 4. propagation_requires_new:新建事务,如果当前存在事务,把当前事务挂起。 5. propagation_not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 6. propagation_never:以非事务方式执行,如果当前存在事务,则抛出异常。 7. propagation_nested:支持当前事务,新增savepoint点,与当前事务同步提交或回滚。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
林水村村地址在哪,我要去那里办事
上海市浦东新区到湖北省黄石市阳新县自己开车
果戈里大街206号到哈尔滨东站打车多少钱
怎样把通达信软件系统背景色调成白色
年龄小的爸爸和年龄大的爸爸生出的孩子的智力
请问下为什么我的踏板摩托车 发动机抖动厉害
个人号可以认证吗
关于编程的……不是高手不要答…… 外挂用什
我想办理大额的信用卡 但我又是黑户 有没有什
HTC 8X内存多大?
遂宁银行蜀秀东街支行我想知道这个在什么地方
20毫米钢板直径800求重量具体步骤谢了 考试中
如何使用transit行运和progress次限推运进行
香港6sp64g多少钱2015
高一数学题 如图,某市郊外景区内一条笔直的
推荐资讯
大胖手工面大盘鸡我想知道这个在什么地方
3a+12=a^2+2a-3
国际紧经济与贸易专业与财务管理专业哪个好?
DNF男气功于女气功比,哪个耗蓝耗得更快?
把手的位置在站立时A.小转子的高度B.大转子的
同时联合一来把不好的事情告诉我然后反过来一
良都文化公园怎么样
深圳华侨城有哪些待拆迁的二手房
法国的英文缩写是什么
上高伟星管业营销中心地址在哪,我要去那里办
陕西的六种特色小吃是什么
证劵公司周末上班吗 可以开户吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?