spring的事务管理问题

转载 2007年09月11日 18:35:00
public   interface  Bar 
2     public   void  foo(); 
3     public   void  saveToDB(); 
4 }
 

 1 public  BarImpl  implements  Bar 
 2    public   void  foo() 
 3     saveToDB(); 
 4      
 5      if (
 6        throw   new  RuntimeException(); 
 7     }
 
 8     
 9    }

10
11     public   void  saveToDB()
12        //  数据库存储操作 
13       
14    }
 
15 }

如果foo方法结束前抛出异常,则saveToDB方法中所作的数据库修改也无效了 我的目的是:不管foo是否抛出异常,如果saveToDB成功执行后,则数据库也要有相应的修改 请问应该怎么配置啊?

我的配置:
1<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> 
2<property name="transactionManager" ref="transactionManager"/> 
3<property name="transactionAttributes"> 
4<props> 
5  <prop key="save*">PROPAGATION_REQUIRED</prop> 
6  <prop key="foo*">PROPAGATION_REQUIRED</prop> 
7</props> 
8</property> 
9</bean>

-------------------------------------------------------------------------------------------------------------------
默认的情况下,spring只有当unchecked exception被抛出时,才rollback事务。

1<property name="transactionAttributes"> 
2        <props> 
3            <prop key="insert*">PROPAGATION_REQUIRED,-MyCheckedException,+MyUnCheckedException</prop> 
4            <prop key="update*">PROPAGATION_REQUIRED</prop> 
5            <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> 
6        </props> 
7    </property> 
8

-MyCheckedException 指定如果方法抛出MyCheckedException或它的子类,事务将 会自动回滚。
+MyUnCheckedException 指定如果方法抛出MyUnCheckedException或它的子类,事务仍将会提交。

 

相关文章推荐

开发问题一:spring的事务管理问题

一:试图通过配置的方式给springMVC的控制器加事务失败       一般而言,事务都是加在Service层的,但是爱钻牛角尖的我时常想:事务加在Controller层可不可以。我一直试图证明事...

SSH整合,spring事务管理不回滚问题

Spring的事务回滚,当且仅当捕获到RuntimeException类型异常时,才会回滚,对普通Exception异常无效。 以下是我Service层捕获异常,并抛出RuntimeExce...

Spring 学习笔记 事务管理 解决购买彩票问题

此文章接上一篇》》》   此配置文件没有采用事务管理,所以购买股票的时候,出现了数据库中账户金额减少了,但是股票数目没有增加的不一致情况。 通过三种方式解决会出现的操作不一致的方法: 1:使用事...

Spring 使用Hibernate事务管理:update等操作无效果问题

使用Spring事务管理 需要使用getCurrentSession获取session在操作中不要显示的关闭session不需要进行编码式事务,使用声明式事务 实际问题: 经常会遇到事务管理...

Spring+Hibernate整合时关于Hibernate事务管理的问题

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read...

关于spring mvc + mybatis + spring aop声明式事务管理没有作用的问题

在最近的一个项目中,采用springMVC、mybatis,发现一个很恼人的问题:事务管理不起作用!!网上查阅了大量的资料,尝试了各种解决办法,亦未能解决问题! spring版本:3.0.5...

spring事务管理

  • 2012-09-06 09:44
  • 75KB
  • 下载

由Spring管理的Struts2的action的线程管理问题

Struts2的Action的线程安全问题   背景: 1) Struts2 默认会对每一个请求,产生一个新的Action的实例来处理. 2) Spring的Ioc容器管理的bean默...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)