gpt4 book ai didi

Spring 侦探行李传播未传播/工作

转载 作者:行者123 更新时间:2023-12-02 19:24:21 29 4
gpt4 key购买 nike

我们当前使用的是 sleuth 2.2.3.RELEASE,我们看不到在 http header 中传递的 userId 字段没有传播。下面是我们的代码。

BaggageField REQUEST_ID = BaggageField.create("x-vcap-request-id");
BaggageField USER_ID = BaggageField.create("userId");

Tracing.newBuilder().propagationFactory(
BaggagePropagation.newFactoryBuilder(B3Propagation.FACTORY)
.add(SingleBaggageField.remote(REQUEST_ID))
.add(SingleBaggageField.newBuilder(USER_ID).addKeyName("baggage-user-id").build())
.build());

我们怀疑 YML 文件中存在某些问题。我们尝试了以下所有选项,但没有一个有效。

#1 baggage-keys: baggage-user-id 
#2 propagation-keys: baggage-user-id
#3 baggage-keys: user-id

在日志中:

%X{行李用户 ID:-}

我们正在传递 http header 中的 userId。

最佳答案

请不要创建您自己的跟踪实例。您可以创建最终位于跟踪 bean 内的 bean。

这里有一个使用最新 3.x api 的示例

spring:
sleuth:
baggage:
correlation-fields:
- TEST-COMMUNICATION-TYPE
remote-fields:
- TEST-COMMUNICATION-TYPE

旧的、已弃用的 API

spring:
application:
name: service1
sleuth:
baggage-keys:
- baggage
- key
log.slf4j.whitelisted-mdc-keys:
- key

我们如何取回行李

log.info("Service2: Baggage for [key] is [" + BaggageField.getByName("key") + "]");

我们如何托运行李

String baggageKey = "key";
String baggageValue = "foo";
BaggageField baggageField = BaggageField.create(baggageKey);
baggageField.updateValue(baggageValue);

关于 Spring 侦探行李传播未传播/工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62614289/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com