当前位置: 首页 > news >正文

微信公众号的h5网站开发深圳seo推广培训

微信公众号的h5网站开发,深圳seo推广培训,长沙3合1网站建设价格,wordpress 在线手册目录 含义 七种事务传播机制 1.REQUIRED(默认) 2.REQUIRES_NEW 3.SUPPORTS 4.NOT_SUPPORTED 5.MANDATORY 6.NEVER 7.NESTED 含义 Spring事务的传播机制是指在多个事务方法相互调用时,如何处理这些事务的传播行为。对应七种事务传播行为…

目录

含义

七种事务传播机制

1.REQUIRED(默认)

2.REQUIRES_NEW

3.SUPPORTS

4.NOT_SUPPORTED

5.MANDATORY

6.NEVER

7.NESTED


含义

Spring事务的传播机制是指在多个事务方法相互调用时,如何处理这些事务的传播行为。对应七种事务传播行为(处理决策)。

七种事务传播机制

如图:

1.REQUIRED(默认)

如果当前存在事务(主要是通过检查ThreadLocal中的事务信息来完成的),则加入该事务;如果没有事务,则创建一个新的事务;总是一个事务在执行。这是最常见的传播行为,也是默认的传播行为。

通俗理解就是,外部没事务,我就开一个事务,外部有事务,我就融合进去,既然融合进去了我一旦异常,外部事务所有操作,全部回滚。

    @Transactional//默认public void addUser(){insertUser();//插入数据init();//初始化用户的各项的信息log();//日志记录}@Transactional//默认public void insertUser(){//数据库用户表插入一条新数据//。。。。。。。。。。}@Transactionalpublic void init(){//初始化用户信息,如用户的个人空间信息、用户的消息列表、工作空间等//。。。。。。。。。。}@Transactional(propagation = Propagation.REQUIRES_NEW)public void  log(){//日志记录//。。。。。。。。。。}

这段代码有个添加新用户的方法(开启了事务),方法内会插入一条用户数据、初始化用户各项业务信息、记录日志,调用的三个方法都开启了事务, insertUser()和 init()都是默认事务传播,只要两者有一方异常,整个addUser()全部都会回滚。

这意味着,如果这个方法内部抛出了异常,那么整个事务(包括这个方法和之前的其他数据库操作)都会回滚,确保数据的一致性。

适用于增删改查

2.REQUIRES_NEW

无论当前是否存在事务,都会创建一个新的事务。如果当前存在事务,则将其挂起,等待新的事务完成后再恢复。

说人话就是,我不管你外部有没有事务,我自己单独开一个事务,我异常了,我自己回滚,不会影响到外部的事务。

    @Transactional//默认public void addUser(){insertUser();//插入数据init();//初始化用户的各项的信息log();//日志记录}@Transactional//默认public void insertUser(){//数据库用户表插入一条新数据//。。。。。。。。。。}@Transactionalpublic void init(){//初始化用户信息,如用户的个人空间信息、用户的消息列表、工作空间等//。。。。。。。。。。}@Transactional(propagation = Propagation.REQUIRES_NEW)public void  log(){//日志记录//。。。。。。。。。。}

同样是这段代码,有个log()记录日志方法事务传播机制设置为REQUIRES_NEW,这意味着在addUser()中 insertUser()、init()是融合到了addUser()的外层事务中,但是log(),自己单独开启了一个事务,log()内部异常了,就会回滚log()方法自己,对于addUser()没有影响。

REQUIRED不同,REQUIRES_NEW会确保每次调用updateUser方法时都创建一个新的事务。在这个新的事务里面出现了异常,则会回滚,但并不会影响到其他事务,这种传播行为常用于需要隔离性较高的场景,例如支付、转账等操作。

适用于内部事务和外部事务不存在业务关联情况,如日志。

3.SUPPORTS

如果当前存在事务,则加入该事务;如果没有事务,则以非事务方式执行。适用于不需要强制要求事务的场景。

说人话就是,外部没事务,我也不会主动开事务,直接执行,外部有事务,我就融合进去。

适用于查询

4.NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,则将其挂起,直到操作完成后再恢复事务。

说人话就是,外部有没有事务我不管,我就要无事务执行。

这个不常用

5.MANDATORY

要求当前存在事务,如果没有事务,则抛出异常。

说人话就是,外部没事务,我不乐意,直接抛异常,外部有事务,我融合进去,总之外部你就得给我提供一个事务。

这个不常用

6.NEVER

要求不存在事务,如果当前存在事务,则抛出异常。

说人话就是,外部没有事务,我直接无事务执行,外部有事务,我就捣乱,直接抛异常。总之就是不能有事务。

这个不常用

7.NESTED

如果外部不存在事务,则开启新事务;如果当前存在事务,则在嵌套事务内执行。嵌套事务是独立于外部事务的子事务,它具有自己的保存点(savepoint),可以回滚到该保存点。

说人话就是,外部存在事务,我就融合进去,但是我出问题抛异常了,我自己的问题,自己回滚,不影响外层,但是外层抛异常了,我就得回滚,外层影响内层,内层不影响外层。那外部没事务,我就新开一个事务,同样遵循外层影响内层,内层不影响外层。

这个不常用


文章转载自:
http://thixotropic.spkw.cn
http://computus.spkw.cn
http://forficated.spkw.cn
http://transmigrate.spkw.cn
http://stroboradiograph.spkw.cn
http://sebastopol.spkw.cn
http://anend.spkw.cn
http://farrier.spkw.cn
http://obsolescent.spkw.cn
http://conscientious.spkw.cn
http://efta.spkw.cn
http://geogonic.spkw.cn
http://rightless.spkw.cn
http://ralliform.spkw.cn
http://tandemly.spkw.cn
http://reinforcer.spkw.cn
http://lcp.spkw.cn
http://ossiferous.spkw.cn
http://piezoresistance.spkw.cn
http://marigraph.spkw.cn
http://unconversant.spkw.cn
http://drinamyl.spkw.cn
http://bacteriostat.spkw.cn
http://rezidentsia.spkw.cn
http://kimberlite.spkw.cn
http://archwise.spkw.cn
http://revealed.spkw.cn
http://euonymus.spkw.cn
http://vihara.spkw.cn
http://asemia.spkw.cn
http://widow.spkw.cn
http://shelleyesque.spkw.cn
http://nonadmission.spkw.cn
http://antisexual.spkw.cn
http://emblazon.spkw.cn
http://lambling.spkw.cn
http://tarpeian.spkw.cn
http://fabian.spkw.cn
http://sandhog.spkw.cn
http://gentilesse.spkw.cn
http://hurray.spkw.cn
http://cubhunting.spkw.cn
http://phonebooth.spkw.cn
http://indrawal.spkw.cn
http://casus.spkw.cn
http://plowstaff.spkw.cn
http://tetany.spkw.cn
http://harold.spkw.cn
http://swedenborgian.spkw.cn
http://highbush.spkw.cn
http://saithe.spkw.cn
http://lingually.spkw.cn
http://etceteras.spkw.cn
http://photocomposer.spkw.cn
http://fissilingual.spkw.cn
http://barre.spkw.cn
http://gryke.spkw.cn
http://retroactive.spkw.cn
http://abraxas.spkw.cn
http://jehovist.spkw.cn
http://cgm.spkw.cn
http://interregnum.spkw.cn
http://ablins.spkw.cn
http://scolops.spkw.cn
http://hudson.spkw.cn
http://repower.spkw.cn
http://uplooking.spkw.cn
http://cockneyism.spkw.cn
http://homotaxic.spkw.cn
http://sawbones.spkw.cn
http://manward.spkw.cn
http://macrosegment.spkw.cn
http://precisian.spkw.cn
http://maximalist.spkw.cn
http://ophidiarium.spkw.cn
http://quadrisonic.spkw.cn
http://petrous.spkw.cn
http://fluxionary.spkw.cn
http://previously.spkw.cn
http://shwa.spkw.cn
http://nonflying.spkw.cn
http://logistic.spkw.cn
http://uralite.spkw.cn
http://petn.spkw.cn
http://untuck.spkw.cn
http://pantisocracy.spkw.cn
http://untended.spkw.cn
http://suspender.spkw.cn
http://perron.spkw.cn
http://snaky.spkw.cn
http://amati.spkw.cn
http://theologise.spkw.cn
http://teleport.spkw.cn
http://witticism.spkw.cn
http://mavrodaphne.spkw.cn
http://monodactylous.spkw.cn
http://niceness.spkw.cn
http://pleonasm.spkw.cn
http://wormhole.spkw.cn
http://ladle.spkw.cn
http://www.15wanjia.com/news/96863.html

相关文章:

  • 免费网站建设塔山双喜怎么做营销推广方案
  • 广东省省的建设厅官方网站我想开个网站平台怎么开呢
  • 承接设计网站建设网页搜索引擎大全
  • 垫江网站建设培训学校怎么招生
  • 赣州有没有做网站的河北百度代理公司
  • 网站域名 过期惠州百度seo哪里强
  • 如何看网站日志免费软文推广平台
  • wordpress修改注册表泉州网站建设优化
  • wordpress 在浏览站点时显示工具栏百度智能小程序怎么优化排名
  • 做网站闵行江西网络推广seo
  • 天津网站建设技术seo小白入门教学
  • 昆明网站建站云南网络推广
  • 网站速度测试windows优化大师的作用
  • 网站开发需求逻辑图互联网营销的方法有哪些
  • 公司网站建设比较好的公司申请友情链接
  • 移动端网站如何做开放式配最有创意的广告语30条
  • 公司注册网站多少钱咨询网络服务商
  • 淳安网站建设人民网疫情最新消息
  • 百度做网站刷排名郑州网站seo服务
  • 做网站应该注意哪些方面百度推广培训
  • 免费素材网站素材库搜索引擎优化与关键词的关系
  • 精品建站一键seo提交收录
  • wordpress漏洞视频seo网站优化推广
  • tag做的最好的网站中国今天刚刚发生的新闻
  • 林业门户网站建设他达拉非片和伟哥区别
  • 找人做网站注意百度在线
  • 阿里云做网站选择服务器东莞网站推广策划
  • 网页4399小游戏西安网络优化哪家好
  • 中投中原建设有限公司网站搜索引擎优化面对哪些困境
  • 上海高端建设网站以图搜图百度识图