我正在使用spring-boot-starter-quartz
进行Spring Boot项目,最近我添加了spring-cloud-starter-sleuth
为每个请求添加traceId。但是,当作业由系统自动触发时,它无法像在控制器或服务中调用操作时那样传播traceId。我是否必须自定义侦探记录或其他内容以将traceId传播到其他服务?
样本: 当我通常在控制器中调用时,侦探工作正常,并且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...
答案 0 :(得分:0)
我通过使用spring-boot-starter-parent
Hoxton.SR5升级到spring-cloud-dependencies
2.3.0.RELEASE解决了这个问题。