108.6. 将 RouteID 属性添加到范围


要识别 Route 的原始卷,需要将 RouteID 属性添加到 span 中。解决办法是使用 Camel 中的 Span decorator。为此,为您要增强路由 ID 的每个组件添加一个自定义 decorator。例如,如果要在直接组件中打印路由 ID,其实现如下:

import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.tracing.SpanAdapter;
import org.apache.camel.tracing.decorators.DirectSpanDecorator;

public class RouteIDSpanDecorator extends DirectSpanDecorator {

    @Override
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag("camel.route.id", exchange.getFromRouteId());
    }
}

将名为 org.apache.camel.tracing.SpanDecorator 的文件添加到 src/main/resources/META-INF/services 文件夹,其中包含类 .. (例如 com.redhat.xxxx.RouteIDSpanDecorator)。这允许 Camel 追踪功能使用 trace 中应用的标签加载自定义 Span decorator。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.