服务引入的过程
源码
过长的源码省略了,看重点
afterPropertiesSet() -> getObject()
@Override
public Object getObject throws Exception {
return get();
}
跟 get:
类 ReferenceConfig
public synchronized T get() {
if (destroyed) {
throw new IllegalStateException("Already destroyed!");
}
if (ref == null) {
//通过网络协议得到代理对象
init();
}
return ref;
}
跟 init() -> createProxy(map):
//...
invoker = refprotocol.refer(interfaceClass, urls.get(0));
//...
return (T) proxyFactory.getProxy(invoker);
本文解析了服务引入过程中的核心代码,详细介绍了如何通过网络协议获取代理对象,并跟踪了getObject()、get()和init()等关键方法的调用流程。在init()方法中,通过调用refprotocol.refer()和proxyFactory.getProxy()实现了远程服务的引用和本地代理的创建。
4138

被折叠的 条评论
为什么被折叠?



