服务提供者filter链条处理
摘要:
本文讲解最后返回响应的时候执行哪些Filter,拿到响应结果后如何异步返回,另外消费者对于请求超时是如何处理的,请求成功的话是如何将响应结果转换为具体的返回类型对象。
上一篇我们看到了服务提供者的一段关键的代码:
// 执行Invoker调用链
Result result = invoker.invoke(inv);
这里接下来就是经过前面的ProtocolFilterWrapper定义的提供者filter链条:
// 使用责任链模式调用所有的filter
// 如果是服务提供者,则依次执行8个filter:
// 0 = {EchoFilter@1770}
// 1 = {ClassLoaderFilter@1771}
// 2 = {GenericFilter@1772}
// 3 = {ContextFilter@1773}
// 4 = {TraceFilter@1774}
// 5 = {TimeoutFil