1.配置文件
扩展dubbofilter需要在resources目录下添加纯文本文件META-INF/dubbo/com.alibaba.dubbo.rpc.Filter,内容如下:
xxxFilter=com.xxx.xxxFilter
2.说明
以上操作就可以添加一个Filter配置了,需要说明的是
1、在Filter中如果需要其他bean的话,只能通过setter方式来注入其他的bean,且不要标注注解!dubbo自己会对这些bean进行注入,不需要再标注@Resource让Spring注入
2、group = Constants.PROVIDER代表这是提供者拦截,如果需要消费实现消费者拦截则只需要修改为group = Constants.CONSUMER即可
3、dubbo中如果配置了多个Filter,想设置Filter的顺序的话,则只需要添加@Activate(order=1) order值越大越先执行
4、也可以根据填写的@Activate(value=“abcUrl”)选择性的拦截部分url
3.其他用处
1、dubbo有超时重试机制,可以使用Filter来实现幂等操作,防止重复操作带来的脏数据
2、统一异常处理
3、前面文章中提到的调用链的使用接入