spring七种事务(transaction)传播机制

spring事务传播机制

  1. propagation_required
    如果存在事务则加入,不存在则新建。
    场景:
    假设服务一调用服务二,两个服务都有写操作,只要有一个发生异常都需要回滚。
  2. propagation_required_new
    新建事务。如果当前存在事务则挂起。
    场景:
    服务一调用服务二
    1. 服务二发生异常服务一可以try/catch自行判断进行回滚或者提交。
    2. 服务一发生异常,不影响服务二。
  3. propagation_suports
    支持事务,如果存在则加入,不存在则以非事务方式运行。一般为读操作。
  4. propagation_not_supports
    不支持事务,如果存在事务则挂起。读操作。
  5. propagation_mandatory
    使用当前事务,如果没有事务则抛出异常。写操作。
  6. propagation_never
    以非事务方式运行,如果存在事务则抛出异常。读操作。
  7. propagation_nested
    如果存在事务则嵌套,不存在则跟propagation_required一样。

猜你喜欢

转载自blog.csdn.net/weixin_41725792/article/details/110051642