37.2. 配置
AWS XRay tracer 的配置属性是:
选项 | 默认值 | 描述 |
---|---|---|
addExcludePatterns |
| 设置 exclude 模式,它将为与 模式匹配的 Camel 消息禁用追踪。内容是一个 Set<String>,其中密钥是匹配的 routeId。该模式使用来自 Intercept 的规则。 |
setTracingStrategy | NoopTracingStrategy |
可以提供自定义 Camel |
目前,只有 AWS XRay tracer 可以配置为为 Camel 应用程序提供分布式追踪:
37.2.1. explicit
在您的 POM 中包含 camel-aws-xray
组件,以及与 AWS XRay Tracer 相关的任何特定依赖项。
要明确配置 AWS XRay 支持,实例化 XRayTracer
并初始化 camel 上下文。您可以选择指定一个 Tracer
,或使用 Registry
或 ServiceLoader
隐式发现它。
XRayTracer xrayTracer = new XRayTracer(); // By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation. xrayTracer.setTracingStrategy(...); // And then initialize the context xrayTracer.init(camelContext);
要在 XML 中使用 XRayTracer,所有您需要做的就是定义 AWS XRay tracer bean。Camel 将自动发现并使用它。
<bean id="tracingStrategy" class="..."/> <bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" /> <property name="tracer" ref="tracingStrategy"/> </bean>
如果默认 NoopTracingStrategy
只跟踪并删除交换,则不会调用某些 Bean 或 EIP 模式。