`

spring transaction同一个类不回滚解决方法

 
阅读更多
1.修改配置文件
<aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>


2.代码AopContext.currentProxy,必须REQUIRES_NEW
@Override
    @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)
    public PrepayOrderDto createAndPayOrderReal(PrepayOrderRequest prepayOrderRequest){
        if(chargeResponse.getCode() != 222222){// ChargeResponse.CODE_SUCCESS
            throw new CreateOrderException("【tbs】创建交易数据出错",chargeResponse.getMessage());
        }
        prepayOrderDto.setTradeDto(chargeResponse.getTradeDto());
        return prepayOrderDto;
    }
    @Override
    public BaseResponse<PrepayOrderDto> createAndPayOrder(PrepayOrderRequest prepayOrderRequest) {

        try{
            xxx xx= ((xxxx) AopContext.currentProxy()).xxx(xxxx);
            return ResponseUtil.returnSuccess
        }catch (Exception e){
            return ResponseUtil.returnError(;
        }
      
    }



分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

    当一个方法(A方法)内部调用另一个方法(B方法)时,可能会遇到事务控制的复杂情况。本示例代码旨在解决在A方法内部调用B方法时的回滚问题。 在Spring中,事务管理可以通过编程式和声明式两种方式实现。编程式事务...

    springTransaction.rar

    这个名为"springTransaction.rar"的压缩包文件包含了一个关于Spring事务管理的小型示例,旨在演示如何使用Spring的事务传播机制来处理数据库操作,特别是转账功能的实现。 首先,让我们了解一下什么是事务。在...

    Spring中的@Transactional事物回滚实例源码

    首先,`@Transactional`是Spring提供的一个编程式事务管理方式,它允许我们在方法上声明事务属性,如传播行为、隔离级别、读写模式以及是否回滚。例如: ```java @Service public class UserService { @...

    spring-transaction.jar.zip

    "spring-transaction.jar"正是提供了Spring事务管理的类库,它包含了一系列用于处理事务的接口、类和配置元素,使得开发者能够方便地实现事务控制。 一、Spring 事务管理概述 Spring事务管理分为编程式事务管理和...

    Spring 常用 Transaction Annotation

    例如,当一个方法抛出未检查异常(继承自RuntimeException的异常)时,Spring会自动回滚事务,而检查异常(非RuntimeException)则不会导致回滚,除非明确指定`rollbackFor`属性。 最后,结合`Book1.xlsx`这个...

    springtransaction 事务管理

    在实际项目中,`springtransaction`工程可能是包含了一个完整的示例,用于演示如何在MyEclipse环境中配置和使用Spring的事务管理功能。开发者可以通过导入此工程,学习和实践Spring事务管理的配置与使用,从而更好地...

    Spring在Transaction事务传播行为种类

    事务传播行为是指当一个事务方法被另一个事务方法调用时,如何处理这些事务的方法。Spring通过`TransactionDefinition`接口定义了七种不同的事务传播行为类型,每一种都有其特定的用途和场景。了解这些事务传播行为...

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

    这是一个接口,定义了基本的事务管理操作,包括提交和回滚等。常用的实现类有`DataSourceTransactionManager`,它用于管理基于JDBC的事务。 #### TransactionDefinition 该接口定义了事务的一些属性,包括隔离级别...

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

    Spring 异常捕获且回滚事务解决方案 在 Spring 框架中,异常捕获和回滚事务是非常重要的概念。今天,我们将讨论如何在 Spring 中捕获异常并回滚事务。 首先,让我们了解一下 Spring 的事务机制。当我们在 Spring ...

    spring-transaction-demo.rar_DEMO_springboot_wash1vw

    项目标签`springboot`和`wash1vw`表明这是一个与Spring Boot相关的示例代码,`demo`则意味着它是一个教学实践项目。 首先,让我们了解Spring Boot中的事务管理基础。Spring Boot集成了Spring框架的声明式事务管理,...

    mybatis 拦截器 + spring aop切面 + spring事务+ 反射工具类

    例如,可能会有一个自定义的MyBatis拦截器用于分页查询,一个Spring AOP切面用于记录操作日志,Spring事务管理确保数据的一致性,而反射工具类可能用于动态加载配置或处理某些通用的反射任务。通过这些组件的组合,...

    spring-transaction-synchronization:Spring事务同步示例

    - 一个名为“spring-transaction-synchronization-master”的项目可能包含了源码示例,展示了如何配置和使用Spring事务同步功能。 - 可能包括了Spring配置文件(如applicationContext.xml)、Java配置类、业务服务...

    spring-hibernate-maven-transaction整合

    1. **Spring框架**:Spring是一个全面的后端应用程序框架,它提供了IoC(Inversion of Control)容器,用于管理对象的生命周期和依赖关系。此外,Spring还支持AOP(Aspect-Oriented Programming),允许我们在不影响...

    软件依赖包(Spring AOP+Hibernate Transaction)

    例如,当一个业务方法需要执行一系列数据库操作时,只需在方法上添加@Transactional注解,Spring就会自动管理事务的开始、提交或回滚,而无需手动编写事务控制代码。同时,AOP可以帮助我们统一处理异常,确保即使在...

    Spring-Struts-IBatis-AOP-Transaction

    在 "17-Prj-Spring-Struts-IBatis-AOP-Transaction" 这个项目中,这四个框架被集成在一起,形成一个强大的 web 应用开发解决方案。Spring 作为整个系统的基石,负责依赖注入和事务管理;Struts 2 处理 HTTP 请求,...

    Spring事务管理的jar包

    在这个例子中,`createUser`方法会在一个事务中执行,如果发生异常,Spring会自动回滚事务,否则在方法正常结束时提交事务。 除了基本的事务控制,Spring还提供了丰富的事务属性,如传播行为(PROPAGATION_REQUIRED...

    spring事物管理

    举例来说,如果我们有一个ForumService的addTopic()方法调用了UserService的addCredits()方法,如果两者都配置为PROPAGATION_REQUIRED,那么这两个方法将在同一个事务中运行。通过日志记录可以看到Spring是如何创建...

    Spring2.5_JPA_Transaction_Demo

    1. **Spring 2.5**:这是一个里程碑式的版本,引入了许多改进和新特性。在2.5中,Spring增强了对注解的支持,使得开发者可以更加方便地使用依赖注入(DI),并且对AOP(面向切面编程)和事务管理进行了优化。在这个...

    Springboot 集成Tcc-transaction1

    在Spring Boot应用中集成TCC(Try-Confirm-Cancel)分布式事务管理,是为了解决在微服务架构中跨服务的复杂事务问题。TCC模式是一种补偿型事务处理方式,它将每个业务操作分为尝试(Try)、确认(Confirm)和取消...

    Implementing Transaction Suspension in Spring

    Spring的声明式事务管理通过AOP(面向切面编程)实现,允许在不修改业务代码的情况下,在方法调用周围插入事务管理逻辑。`TransactionProxyFactoryBean` 创建的代理可以在方法调用的入口和出口处自动开始和结束事务...

Global site tag (gtag.js) - Google Analytics