Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring sleuth行李传播未得到传播/工作_Spring_Spring Cloud Sleuth - Fatal编程技术网

spring sleuth行李传播未得到传播/工作

spring sleuth行李传播未得到传播/工作,spring,spring-cloud-sleuth,Spring,Spring Cloud Sleuth,我们目前使用的是sleuth 2.2.3.RELEASE,无法看到http头中传递的字段userId没有传播。下面是我们的代码 BaggageField REQUEST_ID = BaggageField.create("x-vcap-request-id"); BaggageField USER_ID = BaggageField.create("userId"); Tracing.newBuilder().propagatio

我们目前使用的是sleuth 2.2.3.RELEASE,无法看到http头中传递的字段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 
在logback中:

%X{行李用户id:-}


我们正在传递http头中的用户ID。

请不要创建自己的跟踪实例。您可以创建最终位于跟踪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);

请不要创建自己的跟踪实例。您可以创建最终位于跟踪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);

谢谢它在两个rest组件Spring boot之间工作。所以,拦截器中不需要代码。但是,为什么这些字段没有传播到Kafkala最稳定的版本:2.x,我们没有使用任何spring云kafka流,而是使用简单的spring kafka。我们需要更改任何配置吗?这可能是卡夫卡工具的问题。你能提出一个问题,最好是一个样本,复制他的问题?正是这个答案提供了解决方案后,几个小时的摆弄。谢谢。它在两个rest组件Spring boot之间工作。所以,拦截器中不需要代码。但是,为什么这些字段没有传播到Kafkala最稳定的版本:2.x,我们没有使用任何spring云kafka流,而是使用简单的spring kafka。我们需要更改任何配置吗?这可能是卡夫卡工具的问题。你能提出一个问题,最好是一个复制问题的样本吗?正是这个答案为我提供了几个小时的摆弄后的解决方案。