开发者社区> 问答> 正文

dubbo自己扩展的filter在阿里云EDAS环境下未生效?

自己根据dubbo的filter扩展方式,自己扩展了一个filter

在本机spring boot方式启动时,可以正常进入filter,并执行后续逻辑

在测试环境docker方式启动时,也可以正常进入filter,并执行后续逻辑

但在UAT环境,使用阿里云EDAS环境时,始终进入不了自己扩展的filter

请问有人遇到过这种情况吗?如何解决?

下面是代码:

@Activate(group = {Constants.PROVIDER, Constants.CONSUMER}, value = "tracing")
public final class TracingFilter implements Filter {

private static Logger logger = LoggerFactory.getLogger(TracingFilter.class);

Tracer tracer;
TraceContext.Extractor<Map<String, String>> extractor;
TraceContext.Injector<Map<String, String>> injector;

public void setTracing(Tracing tracing) {
    tracer = tracing.tracer();
    extractor = tracing.propagation().extractor(GETTER);
    injector = tracing.propagation().injector(SETTER);
}

@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
    logger.info("Dubbo Parameters ==>> " + invoker.getUrl().getParameters());
    logger.info("Interface ==>> " + buildSpanName(invoker, invocation));

    if (tracer == null) {
        logger.info("Tracer is null.");
        return invoker.invoke(invocation);
    }

    //do something...

}

image

展开
收起
云栖老菜鸟 2018-07-11 08:39:22 2929 0
1 条回答
写回答
取消 提交回答
  • java 数据分析 数据可视化 大数据

    可能还不支持

    2019-07-17 22:47:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
EDAS—云上的微服务开发与治理利器 立即下载
基于阿里企业级分布式应用服务的敏捷服务开发与架构实践 立即下载
EDAS—轻松搞定分布式应用服务 立即下载