• <tx:advice/> 有关的设置


    将描述通过 <tx:advice/> 标签来指定不同的事务性设置。默认的 <tx:advice/> 设置如下:

    • 事务传播设置是 REQUIRED

    • 隔离级别是 DEFAULT

    • 事务是 读/写

    • 事务超时默认是依赖于事务系统的,或者事务超时没有被支持。

    • 任何 RuntimeException 将触发事务回滚,但是任何 checked Exception 将不触发事务回滚

    这些默认的设置当然也是可以被改变的。 <tx:advice/> 和 <tx:attributes/> 标签里的<tx:method/> 各种属性设置总结如下:

    <tx:method/> 有关的设置

    属性是否需要?默认值描述
    name  

    与事务属性关联的方法名。通配符(*)可以用来指定一批关联到相同的事务属性的方法。 如:'get*''handle*''on*Event'等等。

    propagation REQUIRED 事务传播行为
    isolation DEFAULT 事务隔离级别
    timeout -1 事务超时的时间(以秒为单位)
    read-only false 事务是否只读?
    rollback-for  

    将被触发进行回滚的 Exception(s);以逗号分开。 如:'com.foo.MyBusinessException,ServletException'

    no-rollback-for  

     被触发进行回滚的 Exception(s);以逗号分开。 如:'com.foo.MyBusinessException,ServletException'

    Spring中propagation类的事务属性详解

     

      1. PROPAGATION_REQUIRED:         支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 
      2. PROPAGATION_SUPPORTS:         支持当前事务,如果当前没有事务,就以非事务方式执行。 
      3. PROPAGATION_MANDATORY:      支持当前事务,如果当前没有事务,就抛出异常。 
      4. PROPAGATION_REQUIRES_NEW:   新建事务,如果当前存在事务,把当前事务挂起。
      5.  PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 
      6. PROPAGATION_NEVER:               以非事务方式执行,如果当前存在事务,则抛出异常。 
      7. PROPAGATION_NESTED:              支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务
    在平凡中坚持前行,总有一天,会遇见优秀的自己
  • 相关阅读:
    想更改Github仓库中的某个文件结构
    记git一些基本用法
    剑指Offer-Python(16-20)
    剑指Offer-Python(11-15)
    初次使用flask
    Python的Cmd模块的简易运用学习
    SQL-全称量词查询
    线段树模板1
    OJ输入输出超时(C++)
    二叉查找树(BST)定义
  • 原文地址:https://www.cnblogs.com/mao-19/p/5701576.html
Copyright © 2020-2023  润新知