当前位置: 首页 > 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

相关文章:

SpringCloudSleuth异步线程支持和传递

场景 在使用Sleuth做链路跟踪时,默认情况下异步线程会断链,需要进行代码调整支持。 调整内容 方式一 使用Async实现异步线程 开启异步线程池 EnableAsync SpringBootApplication public class LizzApplication {public static void main(String[] a…...

如何使用 Disco 将黑白照片彩色化

Disco 是一个基于视觉语言模型(LLM)的图像彩色化工具。它使用 LLM 来生成彩色图像,这些图像与原始黑白图像相似。 本文将介绍如何使用 Disco 将黑白照片彩色化。 使用 Disco 提供了一个简单的在线演示,可以用于测试模型。 访问…...

ChatGPT AIGC 制作大屏可视化分析案例

第一部分提示词prompt: 商品 价格 p1 13 p2 41 p3 42 p4 53 p5 19 p6 28 p7 92 p8 62 城市 销量 北京 69 上海 13 南京 18 武汉 66 成都 70 你现在是一名非常专业的数据分析师,请结合上述数据完成下列几件事情 1:第一部分数…...

2023年9款好用的在线流程图软件推荐!

随着互联网技术和基础设施的发展,人们能用上比过去更加稳定的网络,因此在使用各类工具软件时,越来越倾向于选择在线工具,或是推出了网页版的应用。 就流程图软件而言,过去想要绘制流程图,我们得在电脑上安…...

剑指Offer || 044.在每个树行中找最大值

题目 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9] 解释:1/ \3 2/ \ \ 5 3 9 示例2: 输入: root [1,2,3] 输出: [1,3] 解释:1/ \2 3示例3&#xff…...

ESP32网络开发实例-UDP数据发送与接收

UDP数据发送与接收 文章目录 UDP数据发送与接收1、UDP简单介绍2、软件准备3、硬件准备4、代码实现本文将详细介绍在Arduino开发环境中,如何实现ESP32通过UDP协议进行数据发送与接收。 1、UDP简单介绍 用户数据报协议 (UDP) 是一种跨互联网使用的通信协议,用于对时间敏感的传…...

液压自动化成套设备比例阀放大器

液压电气成套设备的比例阀放大器是一种电子控制设备,用于控制液压动力系统中的液压比例阀1。 比例阀放大器通常采用电子信号进行控制,以控制比例阀的开度和流量,以实现液压系统的可靠控制。比例阀放大器主要由以下组成部分: 驱动…...

专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享

我的初试备考从4月末,持续到初试前,这中间没有中断。 总的时间分配上,是数学>专业课>英语>政治,虽然大家可支配时间和基础千差万别,但是这么分配是没错的。 数学 时间安排:3月-7月:…...

JQuery - template.js 完美解决动态展示轮播图,轮播图不显示问题

介绍 在JQuery中,使用template.js把轮播图的图片渲染到页面后,发现无法显示。 解决方案 首先,打开控制台发现,图片dom是生成了的,排除dom的缺失其次,换了一个插件Swiper,发现效果一样,排除插件的沦丧把动态数据换成假数据,...

CC2540和CC2541的区别简单解析

CC2541理论上是CC2540的精简版,去除了USB接口,增加了1个HW1C接口。 CC2540集成了2.4GHz射频收发器,是一款完全兼容8051内核的无线射频单片机,它与蓝牙低功耗协议栈共同构成高性价比、低功耗的片上系统(SOC&#xff09…...

Java8 新特性之Stream(八)-- Stream的collect()与Collectors的联合运用

目录 1. collect()的 收集 作用 2. collect()的 统计 作用 3. collect()的 分组 作用 4. collect()的 拼接 作用...

SpringBoot基础详解

目录 SpringBoot自动配置 基于条件的自动配置 调整自动配置的顺序 纷杂的SpringBoot Starter 手写简单spring-boot-starter示例 SpringBoot自动配置 用一句话说自动配置:EnableAutoConfiguration借助SpringFactoriesLoader将标准了Configuration的JavaConfig类…...

学会Docker之---应用场景和基本操作

实体机、VM和容器 实体机(Physical Machine)是指实际的物理设备,例如我们常见的计算机主机、服务器等。它们是由硬件组成,可以直接运行操作系统和应用程序。 虚拟机(Virtual Machine)是在一台物理机上通过…...

C++_linux下_非阻塞键盘控制_程序暂停和继续

1. 功能 在程序执行过程中,点击键盘p按键(pause), 程序暂停, 点击键盘上的n按键(next),程序继续执行 2. 代码 #include <iostream> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/ioctl.h> char get_keyboar…...

SQL AND, OR and NOT(与,或不是运算符)

SQL AND & OR 运算符 AND&OR运算符用于根据一个以上的条件过滤记录&#xff0c;即用于组合多个条件以缩小SQL语句中的数据。 WHERE子句可以与AND&#xff0c;OR和NOT运算符结合使用。 AND和OR运算符用于根据多个条件筛选记录&#xff1a; 如果由AND分隔的所有条件为TR…...

Python网络编程之Socket(套接字)

文章目录 一、Socket概念二、套接字的发展史及分类三、Socket的使用语法格式(基于TCP协议)1.基于TCP协议的套接字(socket)编程半连接池 2.基于UDP协议的套接字(socket)编程也可以使用服务端只接收客户端消息 黏包现象 一、Socket概念 Socket套接字&#xff0c;一种独立于协议的…...

金山终端安全系统V9.0 SQL注入漏洞复现

0x01 产品简介 金山终端安全系统是一款为企业提供终端防护的安全产品&#xff0c;针对恶意软件、病毒和外部攻击提供防范措施&#xff0c;帮助维护企业数据和网络。 0x02 漏洞概述 金山终端安全系统V9.0 /inter/update_software_info_v2.php页面存在sql注入漏洞&#xff0c;该…...

Radius OTP完成堡垒机登录认证 安当加密

Radius OTP&#xff08;One-Time Password&#xff09;是一种用于身份验证的协议&#xff0c;它通过向用户发送一个一次性密码来验证用户的身份。使用Radius OTP可以实现堡垒机登录&#xff0c;以下是一些实现步骤&#xff1a; 1、安装Radius服务器 首先需要安装Radius服务器…...

ROS opencv 人脸识别

人脸识别需要在输入的图像中确定人脸&#xff08;如果存在&#xff09;的位置、大小和姿态&#xff0c;往往用于生物特征识别、视频监听、人机交互等应用中。2001年&#xff0c;Viola和Jones提出了基于Haar特征的级联分类器对象检测算法&#xff0c;并在2002年由Lienhart和Mayd…...

文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告

本心、输入输出、结果 文章目录 文心一言 4.0 ERNIE-Bot 4.0 &#xff1a;ERNIE-Bot 4.0 大模型深度测试体验报告前言相关跳转文心一言 4.0 ERNIE-Bot 4.0 接口简介Bash 请求示例代码Windows 模式使用 Python 请求如果直接使用官方提供的代码文心一言 4.0 ERNIE-Bot 4.0 API 在…...

FPGA实战:用Z80与8051软核构建可运行BASIC的复古计算机

1. 项目概述&#xff1a;在FPGA上复活经典8位计算机如果你和我一样&#xff0c;对上世纪七八十年代那些经典的8位计算机架构——比如Zilog Z80和Intel 8051——抱有浓厚的兴趣&#xff0c;同时又对现代FPGA技术着迷&#xff0c;那么这个项目绝对会让你兴奋。它不是一个简单的仿…...

大型知识竞赛的技术保障:构建服务器、网络与备用方案的坚实堡垒

&#x1f3d7;️ 大型知识竞赛的技术保障&#xff1a;构建服务器、网络与备用方案的坚实堡垒稳定 高效 安全 让技术成为竞赛的隐形支撑&#x1f3af; 引言&#xff1a;技术保障是竞赛成功的基石一场成功的大型知识竞赛&#xff0c;其精彩纷呈的背后&#xff0c;离不开一套周…...

使用Taotoken后我们如何观测与优化大模型API调用成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken后我们如何观测与优化大模型API调用成本 1. 从黑盒到透明&#xff1a;成本观测的第一步 在接入大模型API的初期&…...

实在Agent物流对账全流程自动化方案与落地案例:2026智享财务新标杆

在2026年5月这个生成式AI深度重构实体经济的关键周期&#xff0c;全球物流行业已全面跨入“智能体&#xff08;Agent&#xff09;常态化运营”时代。根据《2026年全球供应链数字化趋势报告》显示&#xff0c;超过65%的大型物流企业已部署了具备自主决策能力的智能体来替代传统的…...

Composer依赖管理可视化:saketsarin/composer-web工具详解与实践指南

1. 项目概述&#xff1a;一个为Composer量身定制的Web管理界面如果你是一名PHP开发者&#xff0c;那么对Composer一定不会陌生。它是PHP生态的基石&#xff0c;一个强大的依赖管理工具&#xff0c;让我们能够通过一条简单的命令&#xff0c;将成千上万的第三方库引入到自己的项…...

Gerbv:专业PCB设计验证工具,开源免费的Gerber文件查看器终极方案

Gerbv&#xff1a;专业PCB设计验证工具&#xff0c;开源免费的Gerber文件查看器终极方案 【免费下载链接】gerbv Maintained fork of gerbv, carrying mostly bugfixes 项目地址: https://gitcode.com/gh_mirrors/ge/gerbv 当你面对复杂的PCB设计文件时&#xff0c;是否…...

音乐歌词获取终极指南:如何3分钟搞定全网歌曲歌词的完整方案

音乐歌词获取终极指南&#xff1a;如何3分钟搞定全网歌曲歌词的完整方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾经为了找到一首心爱歌曲的完整歌词而花费…...

TensorBoard命令找不到?别慌,用pip install tensorboard和tensorflow两步搞定

TensorBoard命令找不到&#xff1f;三步彻底解决环境配置难题 刚接触深度学习的新手们&#xff0c;第一次在终端输入tensorboard --logdirlogs时&#xff0c;大概率会遇到那个令人沮丧的报错&#xff1a;"tensorboard: command not found"。这就像学开车时发现方向盘…...

AgentOps:AI Agent可观测性平台,解决LLM应用开发调试难题

1. 项目概述&#xff1a;从“AI Agent”到“AgentOps”的工程化跃迁如果你最近在折腾AI Agent&#xff0c;或者正带领团队尝试将大语言模型&#xff08;LLM&#xff09;的能力集成到你的产品流程中&#xff0c;那你大概率会遇到一个共同的瓶颈&#xff1a;开发调试过程像在“开…...

英雄联盟国服换肤终极指南:R3nzSkin免费体验全皮肤

英雄联盟国服换肤终极指南&#xff1a;R3nzSkin免费体验全皮肤 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 厌倦了英雄联盟国服中单调的默认皮肤&am…...