【面试问题】事务中执行了异步任务分发数据,由于事务未提交,导致异步任务无法执行

news/2025/2/15 22:46:55/

文章目录

  • 问题描述:
  • 解决办法:

问题描述:

    @Override@Transactional(rollbackFor = Exception.class)public ServiceResponse ctsqCallbackProcess(OaFlowRecord params) {// 查询任务单数据// 更新任务单信息// 异步分发数据到CRMS系统}

客户数据分发CRMS系统的时候异常,分发任务强依赖于事务内有没有提交,异常由事务未及时提交导致异步任务无法及时查到数据,现将异步任务调整为事务提交后处理

解决办法:

添加事务同步管理器,声明异步是在事务提交后执行

    @Override@Transactional(rollbackFor = Exception.class)public ServiceResponse ctsqCallbackProcess(OaFlowRecord params) {// 查询任务单数据// 更新任务单信息// 异步分发数据到CRMS系统TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {@Overridepublic void afterCommit() {//异步数据分发至CRMScustAyncToCRMSAndSAP.SendSQGMCustDataToCRMS(CustDistributeCategory.客户上市.value(), CustDistributeWay.push.value(),CustDistributeTo.CRMS.value(),tnMdCustTempBase.getAcctCode(),"add");}});}

http://www.ppmy.cn/news/1036149.html

相关文章

Google FixMatch:SOTA 在半监督学习基准测试中的性能

作为当前计算机视觉应用的首选,深度网络通常通过监督学习(一种需要标记数据集的方法)来实现其强大的性能。尽管人工智能多年来取得了许多成就和进步,但标记数据的关键任务仍然落在人类专家身上。他们很难满足那些数据饥渴的深度网…

第二十三章 参考 - HL7业务服务的设置- DocTypeResolution

文章目录 第二十三章 参考 - HL7业务服务的设置- DocTypeResolutionDocTypeResolutionOverride Segment TerminatorFraming 第二十三章 参考 - HL7业务服务的设置- DocTypeResolution DocTypeResolution 指定如何根据 MSH:9 中的消息类型解析 DocType。选择以下选项之一&…

MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)

目录 SQL通用语法 SQL分类 DDL 数据库操作 表操作-查询 1.查询当前数据库所有表 2.查询表结构 3.查询指定表的建表语句 表操作-创建 表操作-数据类型 数值类型 字符串类型 日期类型 DDL小案例 表操作-修改&删除 1.添加字段 2. 修改数据类型 3.修改字段名和…

系统学习Linux-MongoDB

概述 mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON 相关概念实例:系统上运行的mongodb的进程,类似于mysql实例;库:每个数…

windows11下配置vscode中c/c++环境

本文默认已经下载且安装好vscode,主要是解决环境变量配置以及编译task、launch文件的问题。 自己尝试过许多博客,最后还是通过这种方法配置成功了。 Linux(ubuntu 20.04)配置vscode可以直接跳转到配置task、launch文件,不需要下载mingw与配…

HTTP协议详细介绍

HTTP协议详细介绍 1. 一.概述 HTTP(HyperText Transfer Protocol):超文本传输协议,是一种允许通讯双方的一端获取资源 (如 HTML 文档)的协议。它是互联网上任何数据交换的基础,属于 C/S(客户端/服务器)协议, 这意味着请求是由接收…

JavaScript实现在线Excel的附件上传与下载

摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求&am…

计蒜客T1126——单词倒排

超级水的一道题&#xff0c;和T1122类似但更简单&#xff0c;分割后逆序输出即可~ 题干&#xff1a; #include <iostream> #include <string> #include <vector> using namespace std;int main(int argc, char** argv) {string S;vector<string> V;get…