1、编写模块 dubbo-filter,引入 dubbo jar 包
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.5</version>
</dependency>
</dependencies>
2、编写 filter 类,按照规范
@Activate(group = {CommonConstants.CONSUMER,CommonConstants.PROVIDER})
public class DubboInvokerFilter implements Filter {
@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
long start = System.currentTimeMillis();
try {
return invoker.invoke(invocation);
}finally {
System.out.println("invoke time:" + (System.currentTimeMillis() - start) + "毫秒");
}
}
}
3、在配置文件中注册过滤器
在指定文件夹下创建指定文件名称的文件
包名:META-INF/dubbo
文件名:org.apache.dubbo.rpc.Filter
timerFilter=com.lagou.filter.DubboInvokerFilter
4、在 demo-base 中引入该过滤器模块,进行测试