dubbo 自定义 Filter

通过自定义 Filter,可以在 dubbo 调用链中加入特定的逻辑,比如埋点分析调用链。

1. 新建 Filter 类

@Activate(group = {Constants.CONSUMER})
public class MyFilter implements Filter {
    public Result invoke(Invoker<?> invoker, Invocation invocation)
            throws RpcException {
        System.out.println("开始调用 MyFilter");
        Result result = invoker.invoke(invocation);
        System.out.println("结束调用 MyFilter");
        return result;
    }
}

2. 修改 /META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Filter 文件

增加一行:

myFilter=com.zhang.MyFilter

3. 配置 filter 参数

<dubbo:reference id="hello" interface="com.zhang.HelloService" proxy="jdk" retries="0" filter="myFilter"/>

猜你喜欢

转载自www.cnblogs.com/allenwas3/p/9134500.html