zoukankan      html  css  js  c++  java
  • Spring事务管理-<tx:advice>标签

    转自:https://www.aliyun.com/jiaocheng/1311989.html

    首先先看一下代码:

     <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="delete*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
                <tx:method name="insert*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
                <tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
                <tx:method name="save*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/>
            </tx:attributes>
        </tx:advice>

    需要在< tx:advice >标签内设置id和transaction-manager属性,id为advice bean的标识,transaction-manager则必须引用一个PlatformTransactionManager Bean。

    然后在标签内通过 < tx:attributes >创建通知行为,上述代码通知所开启的事务针对所有的delete、insert……方法。
    默认的< tx:advice >设置如下:

    • 事务传播设置是:REQUIRED
    • 隔离级别是:DEFAULT
    • 事务是:读/写
    • 事务超时默认是依赖于事务系统的,或者事务超时没有被支持。
    • 任何RuntimeException将触发事务回滚,但任何checkedException将不触发事务回滚。

    < tx:method >有关的设置

    属性是否必须默认值描述
    name   与事务属性关联的方法名,通配符*可以用来指定一批关联到相同的事务属性的方法
    propagation REQUIRED 事务传播行为
    isolation DEFAULT 事务隔离级别
    timeout -1 事务超时的时间(以秒为单位)
    read-only false 食物是否只读
    rollback-for   将被触发进行回滚的Exception(s),以逗号隔开。
    no-rollback-for   不被触发进行回滚的Exception(s),以逗号隔开。
  • 相关阅读:
    java.lang.UnsupportedClassVersionError: action/Login : Unsupported major.minor version 52.0 (unable to load class action.Login)异常
    main方法和args参数
    建立maven工程pom.xml报错:web.xml is missing and <failOnMissingWebXml> is set to true
    遍历js中数组或者对象
    setAttribute设置无效
    javascript中用setAttribute给元素添加colspan属性无效
    ssm回顾笔记(一)
    struts2学习笔记(一)
    esay-ui学习笔记(一)
    农银电商项目学习笔记(一)
  • 原文地址:https://www.cnblogs.com/sharpest/p/7723691.html
Copyright © 2011-2022 走看看