精准狙M_200 2016-07-01 08:45 采纳率: 0%
浏览 2809

关于多个事务运行先后顺序,求解答

A需要调B,B有事物,B需要调C,C也有事物
求问:是同时运行两个事物还是一个一个来

  • 写回答

3条回答 默认 最新

  • little_how 2016-07-01 09:03
    关注

    如果是用spring来管理事务,就需要看你的事务级别是哪些了。
    PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务,就加入到这个事务中。这是最常见的选择。
    PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
    PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
    PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
    PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
    PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
    PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

    所以你的既有可能是C沿用B的事务;也有可能在调用C的时候,B的事务被挂起,知道C的事务提交完成。
    所以不同的事务级别会导致不同的调用结果。

    如果有帮助,希望结帖

    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献