| 程序包 | 说明 |
|---|---|
| com.taobao.hsf.invocation.filter |
| 类和说明 |
|---|
| RPCFilter
RPC调用的过滤器,客户端可以通过实现
RPCFilter来将自己的逻辑植入到HSF的调用流程中
┌--------------------------------------------------------------------------------┐
| com.taobao.hsf.invocation.filter.RPCFilterBuilder$HeadNode |
└--------------------------------------------------------------------------------┘
| nextHandler.invoke(invocation); ^
v | onResponse(invocation, rpcResult)
┌--------------------------------------------------------------------------------┐
| com.taobao.hsf.invocation.filter.TestFilter1 |
└--------------------------------------------------------------------------------┘
| nextHandler.invoke(invocation); ^
v | onResponse(invocation, rpcResult)
┌--------------------------------------------------------------------------------┐
| com.taobao.hsf.invocation.filter.TestFilter2222222 |
└--------------------------------------------------------------------------------┘
| nextHandler.invoke(invocation); ^
v | onResponse(invocation, rpcResult)
┌--------------------------------------------------------------------------------┐
| com.taobao.hsf.invocation.filter.RPCFilterBuilder$TailNode |
└--------------------------------------------------------------------------------┘
| ^
v |
nextHandler.invoke(invocation); ------同步或者异步-------> future.set(rpcResult);
用户可以如下的方式扩展:
@Order(2)
public class TestFilter2222222 implements ServerFilter {
@Override
public ListenableFuture
throws Throwable {
System.out.println("Before TestFilter2 invoke");
System.out.println("TestFilter2 invoke...") |
Copyright © 2018. All rights reserved.