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

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

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 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名