В чем разница между DubboProtocol и HttpProtocol в среде dubbo? - PullRequest
0 голосов
/ 28 марта 2019
    URL url = invoker.getUrl();

    // export service.
    /**
     * 根据url中的参数得到服务的key,
     * key类似:me.cxis.dubbo.service.HelloService:20080
     * 然后根据new一个DubboExproter实例
     * 放到exporterMap中
     */
    String key = serviceKey(url);
    DubboExporter<T> exporter = new DubboExporter<T>(invoker, key, exporterMap);
    exporterMap.put(key, exporter);

    //export an stub service for dispaching event
    // 有关于本地存根的一些处理
    Boolean isStubSupportEvent = url.getParameter(Constants.STUB_EVENT_KEY,Constants.DEFAULT_STUB_EVENT);
    Boolean isCallbackservice = url.getParameter(Constants.IS_CALLBACK_SERVICE, false);
    if (isStubSupportEvent && !isCallbackservice){
        String stubServiceMethods = url.getParameter(Constants.STUB_EVENT_METHODS_KEY);
        if (stubServiceMethods == null || stubServiceMethods.length() == 0 ){
            if (logger.isWarnEnabled()){
                logger.warn(new IllegalStateException("consumer [" +url.getParameter(Constants.INTERFACE_KEY) +
                        "], has set stubproxy support event ,but no stub methods founded."));
            }
        } else {
            stubServiceMethodsMap.put(url.getServiceKey(), stubServiceMethods);
        }
    }
    // 启动服务器
    openServer(url);

    return exporter;
}

В чем разница между DubboProtocol.java->export() и HttpProtocol.java->export()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...