spring中事务执行完成后/回滚后执行

简介: 有时候业务场景需要 在事务结束后执行一些更新操作; 或者在事务失败回滚后执行一些更新表状态的操作;
    @Transactional(rollbackFor = Exception.class)
    public void except() {

        //事务完成后提交
        TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {

            //提交后,  指正常结束
            @Override
            public void afterCommit() {
               //doSomething
            }
            ;

            //执行完成后, 可以是提交  也可以是回滚
            @Override
            public void afterCompletion(int status) {
                if (status == TransactionSynchronization.STATUS_ROLLED_BACK) {
                    log.info("=============!回滚===================");
                    //do
                }
            }

        });


    }

相关文章
|
XML Java 关系型数据库
Spring Boot 异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)
Spring Boot 异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)
2619 0
|
4月前
|
Java Spring
spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
6月前
|
Java 数据库 开发者
|
XML Java 数据库
Spring 事务传播机制、隔离级别以及事务执行流程源码结合案例分析(下)
Spring 事务传播机制、隔离级别以及事务执行流程源码结合案例分析(下)
125 0
Spring 事务传播机制、隔离级别以及事务执行流程源码结合案例分析(下)
|
SQL Oracle Java
Spring 事务传播机制、隔离级别以及事务执行流程源码结合案例分析(上)
Spring 事务传播机制、隔离级别以及事务执行流程源码结合案例分析
82 0
|
XML Java 测试技术
|
SQL XML Java
Spring 5(五)事务操作
对于数据库的事务操作进行代码阐述
122 0
|
Java Spring
Spring 自调用事务失效,你是怎么解决的?
相信大家都遇到一种事务失效场景,那就是 Spring 自调用,就是在 Service 方法内,调用另一个加 @Transactional 注解的方法,发现事务失效,这时候你是怎么解决的呢?
426 0
|
Java Spring
spring中事务执行完成后/回滚后执行
有时候业务场景需要 在事务结束后执行一些更新操作; 或者在事务失败回滚后执行一些更新表状态的操作;
339 0
|
Java Spring
Spring - TransactionalEventListener 解决事务未提交读取不到数据问题(四)
Spring - TransactionalEventListener 解决事务未提交读取不到数据问题(四)
501 0