请问dubbo的Filter在调用的什么阶段执行的呢?
本文介绍了请问dubbo的Filter在调用的什么阶段执行的呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我在debug dubbo的源码的时候,发现ExceptionFilter只在调用provider端的业务代码之前执行,但是在执行业务代码之前执行有什么意义呢?我搜索了一下,看到一些博客里说的意思都是ExceptionFilter会在执行业务代码之前之后执行,会对业务中抛出的异常进行处理,直接抛出或是包装成RuntimeException抛出。我也觉得这样的逻辑比较合理,可是为什么我在debug的时候都是在之前执行呢?我自己写了一个Filter也一样是在执行业务代码之前。
现在对dubbo源码的理解还比较混乱,搞不清是从哪里调的Filter。
解决方案
自己搞明白了,开始没读懂代码。Dubbo的Filter是一个调用另一个的,最后再执行业务代码。
在这一行调下一个Filter,那么写在这行代码前面的代码就是在业务代码前拦截了,写在之后的代码就是执行完业务代码后拦截了。
这篇关于请问dubbo的Filter在调用的什么阶段执行的呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文