1.Spring-事务传播机制

2018-11-13  本文已影响0人  chachacha88

Spring对事务控制的支持统一在TransactionDefinition类中描述,该类有以下几个重要的接口方法:

    1. int getPropagationBehavior():事务的传播行为。

    2.int getIslocationLevel():事务的隔离级别。

    3.int getTimeOut():事务的过期时间。

    4.boolean isReadOnly():事务的读/写特性。

Spring支持以下7种事务传播行为:

    1.propagation_required:如果当前没有事务,就新建一个事务;如果已经存在一个事务,就加入到这个事务中。这是最常见的选择。

    2.propagation_requires_new:新建事务。如果当前存在事务,就把当前事务挂起。

    3.propagation_supports:支持当前事务。如果当前没有事务,就以非事务方式执行。

    4.propagation_not_supported:以非事务方式执行操作。如果当前存在事务,就把当前事务挂起。

    5.propagation_mandatory :使用当前事务。如果当前没有事务,就抛出异常。

    6.propagation_never:以非事务方式执行。如果当前存在事务,就抛出异常。

    7.propagation_nested:如果当前存在事务,就在事务内执行;如果当前没有事务,就执行与propagation_required类似的操作。

    Spring默认的事务传播行为是propagation_required,它适合绝大多数情况。

上一篇下一篇

猜你喜欢

热点阅读