码迷,mamicode.com
首页 > 编程语言 > 详细

java 手动事物回滚Transaction

时间:2015-05-19 18:28:56      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

1、spring mvc配置异常事物回滚机制

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        ......(省略)
    </bean>

 

<!-- 事务管理器 -->
    <bean id="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="save*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="do*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="edit*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="remove*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="get*" read-only="true" />
            <tx:method name="select*" read-only="true" />
            <tx:method name="find*" read-only="true" />
        </tx:attributes>
    </tx:advice>

 

2、在特殊情况下使用手动事物回滚,如下

注:手动事物回滚写法简单,但不符合spring提倡的无入侵性,并会使代码与spring框架的事物高度耦合。

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

java 手动事物回滚Transaction

标签:

原文地址:http://www.cnblogs.com/bailuobo/p/4515093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!