Spring的事务不回滚处理
来源:互联网 发布:淘宝联名精英版白金卡 编辑:程序博客网 时间:2024/04/30 19:44
Spring的事务回滚,当且仅当捕获到RuntimeException类型异常时,才会回滚,对普通Exception异常无效。
以下是我Service层捕获异常,并抛出RuntimeException异常到Action层:
- @Override
- public void lock(String id) throws RuntimeException {
- try {
- this.loginUserDao.lock(id);
- LoginUser user = this.loginUserDao.findById(id);
- user.setSex("捕捉到异常后,抛出RuntimeException类型的异常");
- this.loginUserDao.save(user);
- } catch (Exception e) {
- // 捕捉到异常后,抛出RuntimeException类型的异常。
- // spring 事务只在捕足到RuntimeException异常时,才会回滚,对Exception无效
- throw new RuntimeException(e.getMessage());
- }
- }
- <!-- 为sessionFactory定义事务管理器 -->
- <bean id="transactionManager"
- class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref local="sessionFactory" />
- </property>
- </bean>
- <!-- 定义事务拦截器 -->
- <bean id="transactionInterceptor"
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
- <!-- 为事务拦截器注入一个事务管理器 -->
- <property name="transactionManager" ref="transactionManager" />
- <property name="transactionAttributes">
- <!-- 定义事务传播属性 PROPAGATION_REQUIRED:表示如果事务不存在,则创建一个新事务,如果存在,则加入到该事务。 -->
- <props>
- <prop key="save*">PROPAGATION_REQUIRED</prop>
- <prop key="add*">PROPAGATION_REQUIRED</prop>
- <prop key="delete*">PROPAGATION_REQUIRED</prop>
- <prop key="update*">PROPAGATION_REQUIRED</prop>
- <prop key="lock*">PROPAGATION_REQUIRED</prop>
- <prop key="unLock*">PROPAGATION_REQUIRED</prop>
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
- <prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
- <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
- <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
- </props>
- </property>
- </bean>
- <!-- 定义拦截器要拦截的bean -->
- <bean id="autoProxy"
- class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
- <property name="beanNames">
- <list>
- <!-- 拦截所有名字以Service结尾的bean进行代理 -->
- <value>*Service</value>
- </list>
- </property>
- <property name="interceptorNames">
- <list>
- <value>transactionInterceptor</value>
- </list>
- </property>
- </bean>
- Spring的事务不回滚处理
- spring事务的处理
- Spring 事务的处理
- Spring实现事务的处理
- spring 2.0 的事务自动处理
- 4、Spring中关于事务的处理
- spring 事务的两种处理方式
- Spring 事务异常处理
- Spring 事务不回滚的问题
- Spring.xml------处理事务详解
- spring中@Transactional对于事务异常的处理
- spring采用基于xml配置方式进行事务的处理
- 关于spring事务回滚的处理2、3事
- 使用atomikos处理ActiveMQ在Spring环境的XA事务
- Spring事务中涉及到多线程的处理方式
- spring的注解事务与try catch 异常处理
- Spring 的事务,分布式事务。
- Spring的事务,什么是事务?
- 东软实训推荐面试问题9:依你现在的水平能找到更好的企业?
- oracle中RAW数据类型
- 比特币
- hive union (all)
- 【Android基础】Activity的启动模式(android:launchMode)
- Spring的事务不回滚处理
- Hibernate主键增加方式
- C/C++定义与声明
- Java正则表达式笔记
- jquery+ajax简单的例子
- 项目启动时加cache
- Ubuntu更新管理器无法初始化软件包信息的问题
- 测试框架:利用WatiN自动化网站功能测试
- 使用sqoop将mysql数据导入到hdfs