1.背景:
由于升级springboot版本到3.1.0后,导致原先的plumelog的traceId获取方式失败。
@Autowired
private Tracer tracer;
项目启动报错,无法找到tracer bean实例。
2.解决:
前往spring cloud sleuth官网,发现此项目已经迁移到别的项目,也就是说引入的依赖不单单只是引入spring-cloud-starter-sleuth组件,还要引入其他依赖
在此贴下完整的项目依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>3.1.9</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
注意:添加完依赖后注入的Tracer的包路径也有变化:
import io.micrometer.tracing.Tracer;
@Autowired
private Tracer tracer;