异步线程进行事务的管理,异步线程事务失效解决方案

2023-11-14

  1. 场景:工作中使用到异步线程,在发生异常时对操作的数据进行回滚,使用 @Transactional(propagation = Propagation.REQUIRES_NEW)失效
  2. 解决方式:进行手动提交事务
  3. 代码:
//TODO :获取当前线程请求头信息(解决丢失请求头问题)
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();

ThreadUtil.execAsync(new Runnable() {


    @Override
    public void run() {
        //每一个线程都来共享之前的请求数据
       //每一个线程都来共享之前的请求数据
RequestContextHolder.setRequestAttributes(requestAttributes);
String name = "";
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);// 事物的传播行为
TransactionStatus status = txManager.getTransaction(def); // 获得事务状
try{
//业务代码
/*
*************
*/
txManager.commit(status);//手动提交事务
}catch(Exception e){
txManager.rollback(status);//手动回滚事务
}





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异步线程进行事务的管理,异步线程事务失效解决方案 的相关文章

  • Java 使用服务器证书对 jar 进行签名

    是否可以使用服务器证书来签署 java web start 应用程序 我想知道的是它是否有效 我的服务器有一个受信任的证书 并且我想重复使用同一证书来签署应用程序 现在 我有这样的警告 此 jar 包含其签名者证书的 ExtendedKey
  • Java中如何动态添加charsequence[]中的数据?

    初始化的一种方法charsequence is charsequence item abc def 但我不想以这种方式初始化它 有人可以建议其他方式吗 比如我们初始化的方式string arrays 首先 修复变量声明 charsequen
  • 我该如何解决? KnapSack - 值完全相同,但每个对象都有三个权重

    我在解决我的练习时遇到问题 我读到了动态规划和算法 我认为我的练习是 特定背包问题 我用暴力法解决了它 但我无法用动态规划解决它 我有一艘重300吨的船 背包 有些晶体本身含有 3 种物质 X Y Z 每种物质都有重量 并且所有晶体都具有相
  • 为什么 hibernate 在一张表中保存两个 @OneToMany 列表?

    想象一下使用 Hibernate 和 JPA 的简化代码如下 Entity class C Id GeneratedValue public long id MappedSuperclass abstract class A Id Gene
  • 具有最小刻度的图表的漂亮标签算法

    我需要手动计算图表的刻度标签和刻度范围 我知道漂亮刻度的 标准 算法 参见 我也知道这个Java实现 http erison blogspot nl 2011 07 algorithm for optimal scaling on char
  • Java 相当于 Perl 的 s/// 运算符?

    我有一些代码正在从 Perl 转换为 Java 它大量使用了正则表达式 包括s 操作员 我已经使用 Perl 很长时间了 但仍然习惯 Java 的做事方式 特别是 字符串似乎更难使用 有谁知道或有一个完全实现的Java函数s 这样它就可以处
  • JFreeChart - 创建移动图表时出现问题

    我在我的 java 应用程序中使用 JFreeChart Problem 我想绘制一个XY面积图 whose 域轴 x 轴 当我们开始绘制数据时应该自动水平滚动 我在中看到了同样的事情时间序列图表但我不想要任何时间系列图表 我只想要滚动的
  • Java 中支持多少维数组,例如 a[1][1][1][1]....[1]? [复制]

    这个问题在这里已经有答案了 Java支持多少维数组a 1 1 1 1 1 我可以为数组声明无限数量的维度吗 数组维数限制为 255 有趣的是 JLS定义的Java编程语言没有这样的限制 但是你可以在JVM规范 http docs oracl
  • 如何使 ScheduledExecutorService 在计划任务取消时自动终止

    我正在使用一个ScheduledExecutorService如果网络连接已打开超过几个小时 则关闭该连接 然而 在大多数情况下 网络连接在超时之前就关闭了 所以我取消了ScheduledFuture 在这种情况下 我还希望执行程序服务终止
  • Java检测鼠标长按

    如果用户按下 JList 组件超过 3 秒 有什么方法可以捕获事件吗 我发现困难的部分是即使在用户松开鼠标左键之前也需要触发事件 这可以通过 mousePressed 和 mouseReleased 组合轻松完成 您可以在 mouseDow
  • 为什么java(>=7版本)不支持运行没有main方法的程序? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 class WithoutMain static System out println Without main class Sy
  • iText7 将 SVG 添加到 PdfDocument 中以及可能出现的问题

    关于问题的答案 如何使用 iText7 将 SVG 添加到 PDF 这是一个链接点击这里 https stackoverflow com questions 50059456 how to add an svg to a pdf using
  • Wildfly 10.1 消耗所有核心

    我们最近将银行应用程序从 java 1 6 升级到 1 8 将 jboss 4 x 升级到 wildfly 10 1 我们观察到 java 消耗了机器上可用的所有核心 10 有人可以告诉是什么原因吗 通常情况下 jboss 4 x 的最大
  • Java XML 解析器添加不必要的 xmlns 和 xml:space 属性

    我在 Windows 10 上使用 Java 11 AdoptOpenJDK 11 0 5 2019 10 15 我正在解析一些旧版 XHTML 1 1 文件 这些文件采用以下一般形式
  • 通过 ssh 发送命令并读取输出结果

    我有代码通过 ssh 连接到远程服务器并向其发送 2 个或更多命令 例如 cd export home ops bin和 viewlinkload time 20131205 19 但我没有看到命令执行 也没有收到结果 我需要获取服务器返回
  • 有没有办法处理Java堆空间异常[重复]

    这个问题在这里已经有答案了 我正在寻找将文件输入流转换为大文件 文件大小为 100MB 并且抛出 java lang OutOfMemoryError Java Heap space import java io FileInputStre
  • 文档过滤器在 Java 中不起作用?

    在超过 10 个字符的文本字段中 它必须显示错误 为此 我使用了文档过滤器 JTextField field JTextField txtFld AbstractDocument document AbstractDocument fiel
  • Spring Boot中服务接口类的用途

    我的问题是关于接口类的使用 我对 Spring 还很陌生 所以如果这过于简单 请耐心等待 首先 当您可以在 BoxService 中声明 find all 时 这里拥有 IBoxService 接口有什么意义 其次 在控制器中如何使用IBo
  • Java 中 .NET 的 Lambda 表达式

    我最近 再次 从 C 迁移到 Java 但我非常怀念 lambda 表达式和 C 的 IEnumerable Foreach 之类的东西 所以我正在寻找Java中的lambda表达式库 有比这更好的图书馆吗LambdaJ http code
  • Jackson 的 ObjectMapper 和 SQL 中的 RowMapper

    我们正在使用对象映射器 当将 ObjectMapper 与 RowMapper 一起使用时 是否应该在每个 mapRow 内部 如下所示 声明它 还是在 mapRow 外部声明为类公共成员 我认为根据本文 它应该作为公共类成员在外部 我应该

随机推荐

  • 语义分割方法总结与综述

    语义分割论文 Dilated convolution low level high level information fusion 2019 CVPR DFANet Deep Feature Aggregation for Real Ti
  • 2207 字符串中最多数目的子字符串(递推)

    1 问题描述 给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern 两者都只包含小写英文字母 你可以在 text 中任意位置插入一个字符 这个插入的字符必须是 pattern 0 或者
  • Axios请求使用XML格式进行请求

    第一次接触xml格式请求 因为我们公司要对接其他公司的平台 需要用XML格式进行请求 才可以打通内网访问 在网上查了好多资料也没明白这个格式怎么使用 试了多次 发现用模板字符串将请求内容包裹进去就可以使用 废话不多说 直接上代码 此处是请求
  • PL/SQL 动态Sql拼接where条件

    完整例子 DECLARE SQLSTR VARCHAR 200 SELECT FROM hr employees where 1 1 TYPE EMPCURTYP IS REF CURSOR V EMP CURSOR EMPCURTYP E
  • shell的文本处理( grep / sed / awk / find)

    1 grep文本过滤明令 全面搜索研究正则表达式并显示出来 grep 命令是一种强大的文本搜索工具 根据用户指定的 模式 对目标文本进行匹配检查 打印匹配到的行 由正则表达式或者字符及基本文本字符所编写的过滤条件 1 grep的格式 gre
  • 网络切片技术缺点_中国联通携手紫光展锐发布首款5G网络切片技术

    出品 搜狐科技 编辑 张雅婷 11月9日 中国联通携手紫光展锐发布全球首款支持完整3GPP标准化网络切片和eSIM的5G CPE VN007 据了解 CPE全称为客户终端设备 是适用于家里的一种微基站 不需要有线进户即可享受到高速上网体验的
  • 谷粒商城-启动renren-fast-vue

    关于启动renren fast vue 为了启动这个 这两天都快搞疯了 本人没搞过前端 所以很费劲 资料 包含node js10 16 3与python2 7 2 链接 https pan baidu com s 1CLSNkiQhMgtM
  • arXiv上传文章注意事项

    1 注册 不忍吐槽arxiv的注册过程 密码有格式要求 而且一旦输错了 得从头填一遍密码和验证码 唯一需要注意的是 如果想要后续用这个账号上传文章 一定记得用自己的 edu邮箱注册 edu cn自然也可以 因为非edu邮箱注册的账号 在上传
  • Java架构直通车——过滤器和拦截器使用

    文章目录 过滤器和拦截器的区别 Filter过滤器 Interceptor拦截器 过滤器和拦截器的区别 规范不同 Filter是Servlet规范中定义的 是Servlet容器支持的 而拦截器是Spring容器内的 是Spring框架支持的
  • 龙书D3D11章节习题答案(第五章)

    以下答案仅供参考 有错欢迎留言 Chapter 5 The Rendering Pipeline 1 Construct the vertex and index list of a pyramid 金字塔 as shown in Figu
  • Qt 解决用QLineEdit实现的输入框开始没有光标在闪烁的问题

    在项目中遇到new出来QLineEdit在开始时 没有光标在闪烁 此时需要重写QlineEdit 代码如下 h文件 class CLineEidt public QLineEdit Q OBJECT public CLineEidt QWi
  • 大数据技术——用户与组管理

    一 实验目的 1 了解linux用户和组 2 熟练掌握liunx用户和组的基本操作 3 进一步了解linux系统 二 实验内容 1 用户账号的添加 删除与修改 2 用户口令的管理 3 用户组的管理 三 实验原理或流程 Linux系统是一个多
  • QT两种方法实现定时器

    方法一 1 重写虚函数 void timerEvent QTimerEvent e 2 启动定时器 返回值为定时器id 参数为定时间隔 单位为毫秒 int startTimer int interval 代码 widget h ifndef
  • DIV CSS优化

    一 Css background背景语法 CSS背景基础知识CSS 背景这里指通过CSS对对象设置背景属性 如通过CSS设置背景各种样式 背景语法 background background color background image b
  • 【会了这些命令,还怕搞不定思科设备?】

    一 常规配置 创建 VLAN S1 config vlan 100 给VLAN 命名 S1 config vlan name vlan100 删除 VLAN S1 config no vlan 100 分配端口到 VLAN 中 S1 con
  • 揭秘iPhone里的Transformer:基于GPT-2架构,分词器含emoji,MIT校友出品

    鱼羊 发自 凹非寺量子位 公众号 QbitAI 苹果Transformer的 秘密 让发烧友给扒出来了 大模型浪潮下 即使保守如苹果 也每逢发布会必提 Transformer 比如 在今年的WWDC上 苹果就已宣布 船新版本的iOS和mac
  • Error[Pe147] in IAR

    系统 win10 IDE IAR MCU cc2530 Error Error Pe147 declaration is incompatible with banked func xdata reentrant void UartSend
  • 【vue】点击tab,变色

    项目场景 商城APP首页开发 点击tab 变色 问题描述 无法变色 debug过程 1 定位 click itemClick 漏传参数index 2 检查代码拼写是否有误 currentIndex 3 在itemClick方法里 打log
  • python制作二级菜单_python实现二级登陆菜单及安装过程

    python实现二级登陆菜单的代码如下所示 1 三级菜单 注册 登陆 注销 2 进入每一个一级菜单 都会有下一级的菜单 user item dict try while True print Welcome sir input choice
  • 异步线程进行事务的管理,异步线程事务失效解决方案

    场景 工作中使用到异步线程 在发生异常时对操作的数据进行回滚 使用 Transactional propagation Propagation REQUIRES NEW 失效 解决方式 进行手动提交事务 代码 TODO 获取当前线程请求头信