请问dubbo的Filter在调用的什么阶段执行的呢?

我在debug dubbo的源码的时候,发现ExceptionFilter只在调用provider端的业务代码之前执行,但是在执行业务代码之前执行有什么意义呢?我搜索了一下,看到一些博客里说的意思都是ExceptionFilter会在执行业务代码之前之后执行,会对业务中抛出的异常进行处理,直接抛出或是包装成RuntimeException抛出。我也觉得这样的逻辑比较合理,可是为什么我在debug的时候都是在之前执行呢?我自己写了一个Filter也一样是在执行业务代码之前。
现在对dubbo源码的理解还比较混乱,搞不清是从哪里调的Filter。

阅读 6.8k
1 个回答
✓ 已被采纳新手上路,请多包涵

自己搞明白了,开始没读懂代码。Dubbo的Filter是一个调用另一个的,最后再执行业务代码。
图片描述

在这一行调下一个Filter,那么写在这行代码前面的代码就是在业务代码前拦截了,写在之后的代码就是执行完业务代码后拦截了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进