dubbo 拦截器配置,Filter,ServletContextListener

一:dubbo 拦截器

dubbo是一个被广泛应用的分布式服务框架,常与spring一起并用;如果想拦截dubbo服务接口,由于spring拦截的是web接口的调用,因此,dubbo提供了filter的扩展,通过继承Filter接口来实现拦截

1:dubbo.xml配置文件

<dubbo:provider id="assetProvider"
               application="defaultApplication”
            
               filter="assetExceptionFilter"/>  

2:resource 文件下配置

 新增目录 META-INF.dubbo,新建文件,命名为 com.alibaba.dubbo.rpc.Filter,将对应的拦截器写入到文件中

assetExceptionFilter=com.xiaoniu.asset.dubbo.filter.AssetExceptionFilter

3:拓展filter

@Activate(group = { Constants.PROVIDER })
public class AssetExceptionFilter implements Filter {
   private Logger logger = LoggerFactory.getLogger(AssetExceptionFilter.class);
   
   @Override
   public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
      
      try {
         Result result = invoker.invoke(invocation);
         if (!result.hasException()) {
            logger.info("###### finish successful, result:{}", result);
            return result;
         }
      
         Result rlt = null;
         Throwable e = result.getException();

         
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值