InjvmProtocol源码学习
injvm相关的代码实现在Dubbo-rpc-injvm模块中,主要是InjvmExporter、InjvmInvoker和InjvmProtocol。
InjvmProtocol 继承 AbstractProtocol,
public class InjvmProtocol extends AbstractProtocol implements Protocol {
public static final String NAME = Constants.LOCAL_PROTOCOL;
public static final int DEFAULT_PORT = 0;
private static InjvmProtocol INSTANCE;
public InjvmProtocol() {
INSTANCE = this;
}
public static InjvmProtocol getInjvmProtocol() {
if (INSTANCE == null) {
ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(InjvmProtocol.NAME); // load
}
return INSTANCE;
}
@Override
public Exporter export(Invoker invoker) throws RpcException {
return new InjvmExporter(invoker, invoker.getUrl().getServiceKey(), exporterMap);
}
@Override