【发布时间】:2021-02-22 05:56:41
【问题描述】:
类似于Spring Cloud Sleuth- Get current traceId?,但在 Spring Cloud Gateway GlobalFilter 的上下文中
我尝试注入 Tracing 并获取 currentTracingContext,但当我获取当前跟踪上下文时它返回 null。
@Autowired
private Tracing tracing;
@Override
public Mono<Void> filter(final ServerWebExchange exchange, GatewayFilterChain chain) {
final long startNanos = System.nanoTime();
System.out.println(tracing.currentTraceContext().get()); // NULL
return chain
.filter(exchange)
.then(
Mono.fromRunnable(() -> {
System.out.println(tracing.currentTraceContext().get()); // NULL
...
我怀疑这是order 问题,我的过滤器没有指定任何@Order。但是,我尝试了 HIGHEST_PRECEDENCE 和 LOWEST_PRECEDENCE,仍然返回 null。
【问题讨论】:
标签: java spring-cloud-gateway spring-cloud-sleuth