当前位置: 首页 > news >正文

spring boot 异步线程@Async 传递 threadLocal数据

将父类的 threadLocal 的数据 在线程池时,可以转给子线程使用。

@Async 的使用。

第一步在启动服务加上 @EnableAsync 注解。

@EnableAsync
public class NetCoreApplication {... ...
}

第二步:导入阿里 线程工具类

       <dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>2.14.5</version></dependency>

第三步,增加 线程池。提供给 @Async 用。
ExecutorService executor = ThreadUtil.newExecutor(10, 200);
ExecutorService ttlExecutor = TtlExecutors.getTtlExecutorService(executor);
return ttlExecutor;

@Component
public class MyThreadPool {/*** 不方便使用注解时,调用该方法可以执行异步操作。*/@Asyncpublic void exe(Runnable runner) {runner.run();}/*** TtlExecutors 这个线程池很重要,可以让子线程继承父线程的threadLocal数据* @return*/@Beanpublic Executor taskExecutor() {ExecutorService executor = ThreadUtil.newExecutor(10, 200);ExecutorService ttlExecutor = TtlExecutors.getTtlExecutorService(executor);return ttlExecutor;}}
http://www.dtcms.com/a/292168.html

相关文章:

  • find / -name “ssl.h“ 2>/dev/null
  • Tailwind CSS快速上手 Tailwind CSS的安装、配置、使用
  • OpenCV快速入门之CV宝典
  • 青龙面板常用拉库命令和常用依赖
  • HashMap和Hashtable的区别
  • 7.22 下雨天了怎么办~~~
  • Vue底层换成啥了?如何更新DOM的?
  • solidity从入门到精通 第二章:Solidity初相见
  • 高速AC耦合电容挨得很近,PCB串扰会不会很大……
  • vue2使用v-viewer实现自动预览
  • 能协调控制器的硬件与软件组成及解决方案
  • 网易视觉算法面试30问全景精解
  • 【node】npm包本地开发与调试
  • 【自动化运维神器Ansible】Ansible介绍与架构详解
  • Events
  • UE5 UI scaleBox 缩放框
  • 基于开源AI智能名片链动2+1模式与S2B2C商城小程序的淘宝新店引流与好评优化策略研究
  • 现在希望用git将本地文件crawler目录下的文件更新到远程仓库指定crawler目录下,命名相同的文件本地文件将其覆盖
  • Elastic Cloud 简化版:GCP Marketplace
  • 【LeetCode数据结构】栈和队列的应用——用队列实现栈问题、用栈实现队列问题详解
  • Leetcode力扣解题记录--第73题(矩阵置零)
  • ecflow服务的搭建,源码编译方式
  • Gerrit多仓库对应多邮箱配置办法
  • Stirling PDF本地PDF编辑器:cpolar内网穿透实验室第628个成功挑战
  • Apache Ignite 索引(Indexes)定义和使用
  • 【运维】SGLang服务器参数配置详解
  • Vue开发常用库(含npm安装命令)
  • IPv4枯竭时代:从NAT技术到IPv6的演进之路
  • C++函数 vs Go函数
  • C++ 中重载函数右值引用和左值引用匹配的优先级