我在Spring集成项目中使用Sleuth在JMS消息中传递跟踪头。IBM MQ用于队列管理器。该配置在功能上运行良好。然而,所有勇敢的头X-B3-*
都与JMS规范不兼容?当IBM MQ客户机库抛出关于此的警告时-
警告消息:JMSCC0049:属性名'X-B3-Sample'不是有效的Java(tm)标识符。
JMS有效负载:2018-03-13 11:54:42.919信息[domain batch,d5a9e59728d0846a,954264c0e98a448b,false]141252---[ask-scheduler-2]c.l.p.模块。生意。BackendServiceClient:Message:GenericMessage[payload=2018-03-13T11:54:42.856,headers={JMS_IBM_Character_Set=UTF-8,JMS_destination=queue:///DEV.QUEUE.1,JMS_IBM_Encoding=273,JMS_timestamp=1520956482869,JMS_IBM_putapptype=28,spanId=9a20699cdc50f7e9,JMS_IBM_Format=MQSTR,JMSXDeliveryCount=1,X-B3-Sampled=0,JMS_IBM_PutTime=15544287,X-B3-TraceId=D5A5A9E59728D0846A,id=d40cfbec-5dce-a8cd-0d96-DA0E3761459,JMS_messageId=2024DU=452;=455A3025AA038;,JMSXUserID=app,X-B3-ParentSpanId=385f47b14a627448,优先级=4,JMSXAppID=BackendServiceApplication,spanTraceId=d5a9e59728d0846a,spanParentSpanId=385f47b14a627448,nativeHeaders={spanTraceId=[d5a9e59728d0846a],spanId=[9a20699cdc50f7e9],spanParentSpanId=[385f47b14a627448],spanSampled=[0],[0],[0],[jms_reDelivereded=false],jms=false,jms_=20180313,X-B3-SpanId=9a20699cdc50f7e9,spanSampled=0}]
侦探中是否有选项可以更改JMS的标题命名约定?类似于行李命名约定?希望我没有遗漏留档中的某些内容。
编辑:添加以下日志级别配置来抑制警告异常
logging:
level:
org.springframework.integration.jms.DefaultJmsHeaderMapper: ERROR
https://github.com/openzipkin/brave/issues/584是《勇敢》中较长的主题。这很不幸。
幸运的是,我们最近改变了B3“跟踪上下文”的继任者的格式,它不再使用连字符,所以不会让JMS难过。https://github.com/w3c/distributed-tracing/tree/master/trace_context注意:这还不是规范的实现版本,但无论如何你都可以遵循它。
我认为这些警告可以忽略。我们正在设置X-B3-采样和spanSample头(请https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessageHeaderPropagation.java查看)。第一个不兼容,第二个兼容JMS
处理注解 在 Servlet 2.5 中, metadata-complete 只影响在部署时的注释扫描。 web-fragments 的概念在 servlet 2.5 并不存在。然而在 servlet 3.0 和之后,metadata-complete 影响扫描所有的在部署时指定部署信息和 web-fragments 注释。注释的版本的描述符必须不影响你扫描在一个web应用程序。除非 metad
有没有人知道Java10和JVM10规范的版本与以前的版本不同?对于Java8和Java9,有不同的规范,很难看到有什么变化。
PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。
这本书是一个 教程。它旨在帮助你由浅入深掌握 JavaScript 这门语言。但是,当你已经熟悉了这门语言的基础知识,你就会需要其他资料。 规范 ECMA-262 规范 包含了大部分深入的、详细的、规范化的关于 JavaScript 的信息。这份规范明确地定义了这门语言。 但正因其规范化,对于新手来说难以理解。所以,如果你需要关于这门语言细节最权威的信息来源,这份规范就很适合你(去阅读)。但它并不
我们什么时候应该在HttpRequest estMessage对象中使用标头而不是HttpClient中的标头?? 我们需要添加授权(总是在变化)和一些自定义标头(总是在变化) 问题 > 首选哪种方法 我是否应该向HttpClient添加公共头(所有请求都相同),并向HttpRequestMessage对象添加基于请求的头??
目前,我正在开发一个代理服务REST,以使用JMS在REST服务操作(更新、删除、插入)中包含有保证的交付。在其中一个流中,我有: *此流接收json文档,然后将其发送到队列* *在这里可以观察到哪个适当地生成临时队列* 警告2014-09-17 11:07:50,532[Dispatcher-Channel-2]org.mule.transport.JMS.jmsMessageUtils:hea