小工具      在线工具  汉语词典  css  js  c++  java

Spring事务监听管理器TransactionSynchronizationManager的使用

Java,java 额外说明

收录于:42天前

1. Spring 提供了事务同步管理器让我们能监视器Spring的事务操作,这个可以获取到当前是否存在事务。

TransactionSynchronizationManager.isSynchronizationActive()

2. 这是注册一个听众,需要传入一个对象TransactionSynchronization

TransactionSynchronizationManager.registerSynchronization()

它有两种方法,一种是事务提交后执行,一种是事务完成后执行(不会区分是提交还是回滚操作)

@Override
  public void afterCommit() {
      // 事务后提交
 }
 public void afterCompletion(int status) {
     // 事务完成后执行(不会区分他是提交还是回滚操作)
 }

3. 示例如下:

 //当前事务提交后方可进行异步任务,防止异步任务先于未提交的事务执行
    private void callBack(Invoice invoice){
        boolean synchronizationActive = TransactionSynchronizationManager.isSynchronizationActive();
        if (synchronizationActive) { // 当前存在事务,在事务提交后执行
            TransactionSynchronizationManager.registerSynchronization(
                    new TransactionSynchronizationAdapter() {
                        @Override
                        public void afterCommit() { // 监听事务提交完成
                            doCall(invoice);
                        }
                    }
            );
        } else {
             // 当前不存在事务,直接执行
            doCall(invoice);
        }
    }

. . .

相关推荐

额外说明

vs 错误:依赖项名称不是类型

vs的模板报错了, 在报错的地方前面加上typename关键字即可,具体原因后续更新。。 先记录一下,

额外说明

C++分离编译模型

c++开发中广泛使用声明和实现分开的开发形式,其编译过程是分离式编译,就是说各个cpp文件完全分开编译,然后生成各自的obj目标文件,最后通过连接器link生成一个可执行的exe文件。 一、普通函数声明和实现分开的分离式编译 --------------

额外说明

Spring事务简介及相关案例

目录   一、事务简介 二、准备数据库 三、创建maven项目,引入依赖和完成相关配置 1. pom.xml文件 2. 创建配置文件 四、编写Java代码 1. Account实体类 2. AccountDao接口 3. AccountService业务

额外说明

Maven项目集成Lombok-Log4j日志

文章目录 一.引入依赖 二.配置资源文件 三.结果 springboot项目已经为日志系统做了很好的集成.那普通的maven项目还需一定配置 一.引入依赖 <dependency> <groupId>org.pro

额外说明

VsCode runner code python 中文 乱码

前言:临时有事,换了太机器,使用VsCode输出python乱码。 解决方案:在环境变量里添加一个变量设置:PYTHONIOENCODING=utf-8 成果: 参考资料来源:博客园-VScode中python中用run coder输出结果中文乱码的最终

额外说明

TCP 异常关闭引发的一系列问题研究与分析

研究测试TCP断开和异常的各种情况,以便于分析网络应用(比如tconnd)断网的原因和场景,帮组分析和定位连接异常掉线的问题,并提供给TCP相关的开发测试人员作为参考。 各个游戏接入都存在一定的掉线问题,而且有的游戏项目的掉线比例还比较高,现在互娱自研游

额外说明

Vert.x集成dubbo服务

vert.x笔记:5.vert.x集成dubbo服务   原文及更多文章请见个人博客:http://heartlifes.com vert.x 基础介绍: dubbo是阿里巴巴内部的rpc远程调用框架,和spring无缝对接,自带loadbalance,

额外说明

commons-math3 简介、中文文档、中英对照文档 下载

commons-math3 文档 下载链接(含jar包、源码、pom) 组件名称 中英对照-文档-下载链接 中文-文档-下载链接 commons-math3-3.6.1.jar commons-math3-3.6.1-API文档-中英对照版.zip co

ads via 小工具