`
phpxiaoxin
  • 浏览: 252505 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring事务无异常回滚 [spring rollback without exception]

    博客分类:
  • java
阅读更多
在使用spring的时候通常我们可以通过抛出异常的方式完成回滚,当然是runtime的异常,但是在一些复杂业务逻辑1中,往往我们需要service返回的不只是异常信息,很可能是异常的code,甚至一些其他的信息。
这个时候我们就不能抛出异常,那么这个时候可以通过一下方法完成数据库的回滚:

TransactionInterceptor.CurrentTransactionStatus.RollbackOnly = true
或者
TransactionInterceptor.currentTransactionStatus().setRollbackOnly();
这个应该是不同版本的使用方式。

参考地址:
http://forum.springframework.net/archive/index.php/t-4264.html
分享到:
评论

相关推荐

    spring 简单实例 事务回滚

    Spring默认只在遇到未检查异常时自动回滚事务,如果需要在特定检查异常下回滚,可以在`@Transactional`注解中指定`rollbackFor`属性。 5. 测试:创建一个测试类,模拟一个业务流程,使得在事务中发生异常,观察事务...

    Spring事务管理A方法内部调用B方法的回滚问题测试代码

    对于已检查异常(继承自Exception的非RuntimeException),除非显式声明`@Transactional(rollbackFor = Exception.class)`,否则Spring默认不会回滚事务。 通过这样的设置,我们可以在A方法内部调用B方法时确保事务...

    Spring+Mybatis整合事务回滚

    花了一晚上时间终于搞出来了Spring整合Mybatis事务回滚(Mysql数据库),控制Service层中的多次插入操作,多次操作整体是一个事务。 里面有缘嘛和jar包,资源为war包,导入即可。运行Test类中的测试代码即可。 建表...

    spring-控制事物回滚

    "spring-控制事物回滚"这个主题主要涉及Spring如何在出现异常时自动或手动触发事务的回滚,以及如何配置和使用Spring的事务管理机制。我们将深入探讨Spring事务管理的原理、API使用以及在实际开发中的应用。 首先,...

    spring事务异常回滚实例解析

    本文主要关注的是声明式事务管理,尤其是涉及到事务异常回滚的实例解析。 首先,Spring 默认只有在遇到未捕获的 `RuntimeException` 或其子类时才会触发事务回滚。这意味着,如果在业务代码中对异常进行了捕获并...

    SQL 事务回滚解决 回滚无效的情况

    SQL 事务回滚解决回滚无效的情况 BEGIN TRY END TRY CAHTH

    Spring事务管理只对出现运行期异常进行回滚

    5. **事务的回滚规则**:除了默认仅对运行时异常回滚外,还可以自定义回滚规则,比如通过`@Transactional(rollbackFor = Exception.class)`来指定任何类型的异常都触发回滚。 6. **事务的边界**:事务的开始和结束...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...

    Spring异常捕获且回滚事务解决方案

    在上面的配置中,我们使用 tx:method 元素来配置 upd* 方法的回滚规则, propagation="REQUIRED" 表示事务是必需的,rollback-for="java.lang.Exception" 表示回滚 java.lang.Exception 异常。 在 Spring 中捕获...

    子线程任务发生异常,主线程事务如何回滚

    子线程任务发生异常,主线程事务如何回滚? 本文将详细探讨当子线程任务发生异常时,如何让主线程捕获到该异常并进行事务的回滚。下面将从多线程编程的基础知识、线程池的使用、异常捕获三个方面进行阐述。 一、多...

    oracle 在java中的事务处理和异常回滚。

    在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...

    Spring中@Transactional事务回滚(含实例

    1. **默认回滚规则**:如果在`@Transactional`方法中抛出未检查异常(继承自`RuntimeException`的异常)或者`Error`,Spring将自动回滚事务。 2. **非默认回滚规则**:对于受检异常(即没有继承自`RuntimeException`...

    Spring/SpringMVC/MyBatis整合+事务回滚

    7. **实现事务回滚**:当在@Transactional注解的方法中发生异常时,Spring会自动回滚事务。例如,如果在保存数据时发生错误,整个事务将被回滚,保证数据的一致性。 8. **测试与调试**:完成整合后,通过编写单元...

    简单的c#事务回滚实例代码

    当事务中的某一步骤出现问题,可以使用回滚(Rollback)操作撤销所有已完成的步骤,恢复到事务开始前的状态。 在C#中,我们可以利用System.Transactions命名空间提供的TransactionScope类来创建一个事务上下文。...

    Spring事务传播机制.docx

    这里是事务异常回滚的地方,这里有个注意点是回滚会先用 rollbackOn 这个方法判断,默认情况下只有 RunTimeException 及 Error 是会进行回滚的,除非在@Transactional 显式声明了 rollbackFor。 二、Spring 的事务...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    <tx:method name="transfer" propagation="REQUIRED" rollback-for="Exception"/> (* com.example.service.AccountService.transfer(..))"/> ``` #### 声明式事务的注解配置 通过注解来实现事务管理,...

    Spring事务小demo

    3. **异常回滚规则**:默认情况下,如果在@Transactional注解的方法中抛出未检查异常(继承自RuntimeException)或者Error,Spring会自动回滚事务。对于检查异常(非RuntimeException),如果不指定回滚规则,事务...

    Spring事务流程图

    若出现异常,Spring会自动回滚事务,以保证数据的一致性。 4. **事务隔离**:Spring支持多种事务隔离级别,如READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE,不同的隔离级别能防止特定类型的...

    Spring事务管理Demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理应用中的事务。Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何...

Global site tag (gtag.js) - Google Analytics