IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring事务提交后处理TransactionSynchronizationManager#afterCommit -> 正文阅读

[Java知识库]Spring事务提交后处理TransactionSynchronizationManager#afterCommit

Spring事务提交后处理

最近在业务处理中遇到一个锁表问题,经过排查发现是在微服务A中更新数据主表a,而更新方法中又通过RPC调用了另一个微服务B的函数,函数中更新数据子表b时也更新数据主表a,由于微服务A数据库事务并没有释放主表a的写库锁,微服务B更新数据时就会报出锁表的错误信息。

这个时候考虑到有两种解决方案,一个是分布式事务锁,一个是在微服务B中先将前面写库的事务进行commit。这里我们用的第二种方式。

实现方式如下示例:

if (TransactionSynchronizationManager.isActualTransactionActive()) {
    TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
        public void afterCommit() {
            try {
                // do some logic
            } catch (Exception e) {
                logger.error("afterCommit exception.");
            }
        }
    });
}

TransactionSynchronizationManager.isActualTransactionActive()能够判断当前是否有事务正在被执行;
TransactionSynchronizationAdapter是一个空的适配器,里面提供了几个空方法,其中afterCommit为事务提交后进行的业务处理,我们将微服务B中的写库逻辑移至此方法里。
TransactionSynchronizationAdapter

参考文章:TransactionSynchronizationManager和TransactionSynchronizationAdapter

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 15:56:35  更:2022-01-03 15:59:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:50:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码