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

SpringCloudSleuth异步线程支持和传递

场景

        在使用Sleuth做链路跟踪时,默认情况下异步线程会断链,需要进行代码调整支持。

调整内容

方式一

使用@Async实现异步线程

  • 开启异步线程池
@EnableAsync
@SpringBootApplication
public class LizzApplication {public static void main(String[] args) {SpringApplication.run(LizzApplication.class, args);}
}
  • 异步线程实现
@Slf4j
@Service
public class SleuthExecutors {@Asyncpublic void go(){log.info("go");}
}
  • 调用异步线程
@RestController
@Slf4j
public class LizzController {@AutowiredSleuthExecutors sleuthExecutors;    @GetMapping("/asyncSleuth")public void asyncSleuth() {sleuthExecutors.go();}
}

 

  • 66cf4e9594b9f60c为父线程traceid,18a498dde65276ec为子线程traceid 

方式二

使用TraceRunnable

  • 自定线程
@Slf4j
@Service
public class SleuthExecutors implements Runnable {@Overridepublic void run() {log.info("go");}
}
  • 自定义线程池
@RestController
@Slf4j
public class LizzController { @AutowiredTracing tracing;public static final ExecutorService executorService = Executors.newFixedThreadPool(5);@GetMapping("/traceRunnable")public void traceRunnable() {log.info("traceRunnable");// 线程加入到tracing中Runnable traceRunnableFromTracer = this.tracing.currentTraceContext().wrap(sleuthExecutors);executorService.submit(traceRunnableFromTracer);}}

  • 跨线程的同一个traceid
http://www.lryc.cn/news/197599.html

相关文章:

  • 如何使用 Disco 将黑白照片彩色化
  • ChatGPT AIGC 制作大屏可视化分析案例
  • 2023年9款好用的在线流程图软件推荐!
  • 剑指Offer || 044.在每个树行中找最大值
  • ESP32网络开发实例-UDP数据发送与接收
  • 液压自动化成套设备比例阀放大器
  • 专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享
  • JQuery - template.js 完美解决动态展示轮播图,轮播图不显示问题
  • CC2540和CC2541的区别简单解析
  • Java8 新特性之Stream(八)-- Stream的collect()与Collectors的联合运用
  • SpringBoot基础详解
  • 学会Docker之---应用场景和基本操作
  • C++_linux下_非阻塞键盘控制_程序暂停和继续
  • SQL AND, OR and NOT(与,或不是运算符)
  • Python网络编程之Socket(套接字)
  • 金山终端安全系统V9.0 SQL注入漏洞复现
  • Radius OTP完成堡垒机登录认证 安当加密
  • ROS opencv 人脸识别
  • 文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告
  • 华为OD机考B卷 | 100分】阿里巴巴找黄金宝箱(JAVA题解——也许是全网最详)
  • 请求转发和重定向区别
  • JS如何判断对象为空?以及各自的缺点。
  • 同城代驾开源版小程序开发
  • 【Python机器学习】零基础掌握ShrunkCovariance协方差估计
  • 精神科常用评估量表汇总,建议收藏!
  • Python之切片
  • OpenCV显示中文(python)
  • k8s-18 认证授权
  • WebAPI+EF连接SQL Server数据库
  • maven-plugin-shade 详解1