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 声明式事务管理在真实的Service和单元测试时的回滚情况,需要注意的问题,jpa为例子

如何测试事务,测试事务回滚情况: 我做了大量的不同的测试: 场景1:    Service层中使用注解@Transactional,注解@PersistenceContext     ...

spring事务管理的几个问题

首先说明,不是spring的问题,是程序员编程时要注意的问题,不要被标题误导了哈。 原文地址:不得不说spring事务管理的几个问题,欢迎查看。 spring通过aop机制为项目的事务管理带来了极...

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...
  • he90227
  • he90227
  • 2014年07月21日 17:38
  • 1653

spring的事务管理配置

  • 2017年10月19日 16:34
  • 6KB
  • 下载

Spring事务管理——慕课网

  • 2017年02月15日 17:29
  • 36KB
  • 下载

spring4整合Hibernate4过程中遇到的事物管理问题

首先说点题外话,框架整和时一定要考虑框架的兼容。之前我用的是hibernate 5出现许多莫名的错误,换成低版本后错误就解决了。 下面进入正题。问题:之前我在applicationContext.x...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring的事务管理问题
举报原因:
原因补充:

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