apache-camel - Zipkin trace id 在 producerTemplate 上丢失
问题描述
我有一个通过 rest 调用的 api,然后将消息发送到骆驼队列,在该队列上创建新的跟踪 id 而不是使用初始的,尝试手动设置“X-B3-TraceId”标头,但看起来它仍然被覆盖. 我错过了什么让它被忽略吗?我的 ZipkinTracer 配置如下所示:
@Bean
@ConditionalOnMissingBean(ZipkinTracer.class)
ZipkinTracer zipkin(final CamelContext camelContext) {
ZipkinTracer zipkin = new ZipkinTracer();
zipkin.setPort(9411);
zipkin.setHostName("127.0.0.1");
zipkin.setRate(1f);
zipkin.setEndpoint("http://localhost:9411/api/v2/spans");
OkHttpSender sender = OkHttpSender.create("http://localhost:9411/api/v2/spans");
zipkin.setSpanReporter(AsyncReporter.create(sender));
camelContext.setTracing(true);
zipkin.init(camelContext);
return zipkin;
}
我通过构造一个交换对象并将其传递给 producerTemplate 来发送一条消息。
producerTemplate.send(startEndpoint, exchange)
解决方案
推荐阅读
- encryption - 无法在 Ubuntu 18.04 上使用 gpg 签署文件
- flutter - 我是否需要在 Dart 中处理 mobx 的 `autorun` 实例以及如何处理?
- spring - 过滤过滤的数据
- java - 无法使用 AWS CodeDeploy 部署 Springboot 应用程序 AWS Ubuntu 实例
- java - 如何在 JPanel 中使用文件选择器
- javascript - 节点js会话销毁不重定向
- javascript - 防止像figma那样放大网页,
- rxjs - 延迟后重新执行异步 RxJS 流
- php - 如何在 DOM 元素回显中设置 img 类?
- django - 按组名选择的 DRF 过滤器