1 实现 Filter 接口
public class MyFilter implements Filter { @Override public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException { System.out.println("前置拦截逻辑"); Result result = invoker.invoke(invocation); System.out.println("置拦截逻辑"); return result; } }
2 spring 配置中增加Filter 配置
<dubbo:consumer filter="testFilter" />
<dubbo:provider filter="testFilter" />
3 添加spi的支持、resource 下创建 /META-INF/dubbo/com.alibaba.dubbo.rpc.Filter 创建key 键值指定filter
testFilter=com.xx.MyFilter
4 获取上下文参数 需要使用 RpcContext
RpcContext.getContext()