Sleuth traceId 无法在 Quartz 作业中传播
Sleuth traceId cannot propagate in Quartz job
我正在使用 spring-boot-starter-quartz
开发一个 Spring 启动项目,最近我添加了 spring-cloud-starter-sleuth
来为每个请求添加 traceId。但是,当作业由系统自动触发时,它不能像在控制器或服务中调用操作时那样传播 traceId。我是否必须自定义 sleuth 日志记录或其他内容才能将 traceId 传播到其他服务?
样本:
当我通常调用控制器时,sleuth 工作正常并且我将 traceId 传播到其他服务
2020-06-03 14:37:02.148 [my-scheduler,1966e2d37a2d7713,1966e2d37a2d7713] JobSchedulerController.startScheduleJob:97 17812 --- [nio-8201-exec-3] c.p.s.controller.JobSchedulerController : Started scheduler job with id 2
但是,当我的作业被自动触发时,不会传播任何 traceId,因此其他服务也不会有该 traceId。
2020-06-03 14:37:02.219 [my-scheduler,,] JobListener.jobToBeExecuted:30 17812 --- [ryBean_Worker-2] c.p.s.listener.JobListener : DEFAULT.SampleJob is going to start...
我已经通过升级到 spring-boot-starter-parent
2.3.0.RELEASE 和 spring-cloud-dependencies
Hoxton.SR5
解决了这个问题
我正在使用 spring-boot-starter-quartz
开发一个 Spring 启动项目,最近我添加了 spring-cloud-starter-sleuth
来为每个请求添加 traceId。但是,当作业由系统自动触发时,它不能像在控制器或服务中调用操作时那样传播 traceId。我是否必须自定义 sleuth 日志记录或其他内容才能将 traceId 传播到其他服务?
样本: 当我通常调用控制器时,sleuth 工作正常并且我将 traceId 传播到其他服务
2020-06-03 14:37:02.148 [my-scheduler,1966e2d37a2d7713,1966e2d37a2d7713] JobSchedulerController.startScheduleJob:97 17812 --- [nio-8201-exec-3] c.p.s.controller.JobSchedulerController : Started scheduler job with id 2
但是,当我的作业被自动触发时,不会传播任何 traceId,因此其他服务也不会有该 traceId。
2020-06-03 14:37:02.219 [my-scheduler,,] JobListener.jobToBeExecuted:30 17812 --- [ryBean_Worker-2] c.p.s.listener.JobListener : DEFAULT.SampleJob is going to start...
我已经通过升级到 spring-boot-starter-parent
2.3.0.RELEASE 和 spring-cloud-dependencies
Hoxton.SR5