dubbo中有过滤器功能,能够在调用某接口时实现某种功能。比如公共校验、黑名单、取值等。过滤器有针对性provider和consumer两种类型,但是本文不描述如何使用filter,仅记录使用中遇到的一些问题
1.使用中我们可以在dubbo配置文件中配置过滤器:
<dubbo:service interface="com.tuya.jarvis.api.service.command.IDeviceCommandApiService" ref="deviceCommandApiService" timeout="3000" filter="-bizexception,exceptionFilter" />
在这段配置中,filter="-bizexception,exceptionFilter" 可以在filter增加不同的过滤器。如果该接口中不想用某过滤器,可以使用“-”字符来标记。
2.在使用中,可以使用该方法使全局生效
<dubbo:provider filter="blackListFilter" />
3.修改生效顺序:
方法一:
dubbo:provider filter中去修改顺序
方法二:
注解形式
@Activate(
group = {"provider"},
order = 600
)
代表该过滤器仅针对provider生效,在所有的过滤器中排第600位