一、介绍
1 说明
1 Dubbo调用时拦截操作 与很多框架一样,Dubbo也存在拦截(过滤)机制,可以通过该机制在执行目标程序前后执行我们指定 的代码。
2 Dubbo的Filter机制,是专门为服务提供方和服务消费方调用过程进行拦截设计的,每次远程方法执 行,该拦截都会被执行。
3 这样就为开发者提供了非常方便的扩展性,比如为dubbo接口实现ip白名单功 能、监控功能 、日志记录等。
2 步骤
1 实现 org.apache.dubbo.rpc.Filter 接口
2 使用 org.apache.dubbo.common.extension.Activate 接口进行对类进行注册 通过group 可以 指定生产端 消费端
3 建议:一般类似于这样的功能都是单独开发依赖的,所以再使用方的项目中只需要引入依赖,在调用接 口时,该方法便会自动拦截。
二、demo
1 实现 实现统计Filter
2 新建module
3 引入依赖
<dependencies><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version></dependency></dependencies>
4 Filter 实现
5 配置文件

6 消费者引入 时间Filter依赖
<dependency><groupId>com.flame</groupId><artifactId>dubb0-filter</artifactId><version>1.0-SNAPSHOT</version></dependency>
7 测试消费者

8 提供者 依赖引入
<dependency><groupId>com.flame</groupId><artifactId>dubb0-filter</artifactId><version>1.0-SNAPSHOT</version></dependency>
9 测试

