1.Spring-事务传播机制

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,它适合绝大多数情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据库事务隔离级别 1.read_uncommitid 脏读,读取未提交的数据2.Read_commited 读取...
    青城楼主阅读 574评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 很多人喜欢这篇文章,特此同步过来 由浅入深谈论spring事务 前言 这篇其实也要归纳到《常识》系列中,但这重点又...
    码农戏码阅读 4,785评论 2 59
  • Spring 事务属性分析 事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的...
    壹点零阅读 1,334评论 0 2
  • 不一样的字,不一样的品位。 高端产品,高端价格 红木小件、核雕、缂丝等 高端产品底稿定制!
    梅心无影阅读 278评论 2 1