Hadoop RPC

来源:互联网 发布:自媒体是什么 知乎 编辑:程序博客网 时间:2024/05/16 02:49
当通过RPC类的getProtocolProxy方法获得代理对象,实际上是调用RpcEngine的getProxy方法获得代理对象,默认的RpcEngine是WritableRpcEngine,除此之外还有ProtobufRpcEngine可供使用。RpcEngine的getProxy方法里面使用了JDK动态代理,Proxy.newProxyInstance(protocol.getClassLoader(), new Class[]{protocol}, new WritableRpcEngine.Invoker(protocol, addr, ticket, conf, factory, rpcTimeout, fallbackToSimpleAuth));可以发现代理对象是WritableRpcEngine.Invoker,它实现RpcInvocationHandler接口,RpcInvocationHandler又继承了InvocationHandler。WritableRpcEngine.Invoker的invoke方法调用了Client的call方法。http://weixiaolu.iteye.com/blog/1504898
0 0
原创粉丝点击