当前位置: 首页>>代码示例>>Java>>正文


Java URL.setProtocol方法代码示例

本文整理汇总了Java中com.alibaba.dubbo.common.URL.setProtocol方法的典型用法代码示例。如果您正苦于以下问题:Java URL.setProtocol方法的具体用法?Java URL.setProtocol怎么用?Java URL.setProtocol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.alibaba.dubbo.common.URL的用法示例。


在下文中一共展示了URL.setProtocol方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: toRouters

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
/**
 * 
 * @param urls
 * @return null : no routers ,do nothing
 *         else :routers list
 */
private List<Router> toRouters(List<URL> urls) {
    List<Router> routers = new ArrayList<Router>();
    if(urls == null || urls.size() < 1){
        return routers ;
    }
    if (urls != null && urls.size() > 0) {
        for (URL url : urls) {
            if (Constants.EMPTY_PROTOCOL.equals(url.getProtocol())) {
                continue;
            }
            String routerType = url.getParameter(Constants.ROUTER_KEY);
            if (routerType != null && routerType.length() > 0){
                url = url.setProtocol(routerType);
            }
            try{
                Router router = routerFactory.getRouter(url);
                if (!routers.contains(router))
                    routers.add(router);
            } catch (Throwable t) {
                logger.error("convert router url to router error, url: "+ url, t);
            }
        }
    }
    return routers;
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:32,代码来源:RegistryDirectory.java

示例2: createMonitor

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
@Override
protected Monitor createMonitor(URL url) {
    url = url.setProtocol(url.getParameter(Constants.PROTOCOL_KEY, "dubbo"));
    if (url.getPath() == null || url.getPath().length() == 0) {
        url = url.setPath(MonitorService.class.getName());
    }
    String filter = url.getParameter(Constants.REFERENCE_FILTER_KEY);
    if (filter == null || filter.length() == 0) {
        filter = "";
    } else {
        filter = filter + ",";
    }
    url = url.addParameters(Constants.CLUSTER_KEY, "failsafe", Constants.CHECK_KEY, String.valueOf(false), 
            Constants.REFERENCE_FILTER_KEY, filter + "-monitor");
    Invoker<MonitorService> monitorInvoker = protocol.refer(MonitorService.class, url);
    MonitorService monitorService = proxyFactory.getProxy(monitorInvoker);
    return new DubboMonitor(monitorInvoker, monitorService);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:19,代码来源:DubboMonitorFactroy.java

示例3: toRouters

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
/**
 * @param urls
 * @return null : no routers ,do nothing
 * else :routers list
 */
private List<Router> toRouters(List<URL> urls) {
    List<Router> routers = new ArrayList<Router>();
    if (urls == null || urls.size() < 1) {
        return routers;
    }
    if (urls != null && urls.size() > 0) {
        for (URL url : urls) {
            if (Constants.EMPTY_PROTOCOL.equals(url.getProtocol())) {
                continue;
            }
            String routerType = url.getParameter(Constants.ROUTER_KEY);
            if (routerType != null && routerType.length() > 0) {
                url = url.setProtocol(routerType);
            }
            try {
                Router router = routerFactory.getRouter(url);
                if (!routers.contains(router))
                    routers.add(router);
            } catch (Throwable t) {
                logger.error("convert router url to router error, url: " + url, t);
            }
        }
    }
    return routers;
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:31,代码来源:RegistryDirectory.java

示例4: testIsInjvmRefer

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
@Test
public void testIsInjvmRefer() throws Exception {
    DemoService service = new DemoServiceImpl();
    URL url = URL.valueOf("injvm://127.0.0.1/TestService")
        .addParameter(Constants.INTERFACE_KEY, DemoService.class.getName());
    Exporter<?> exporter = protocol.export(proxy.getInvoker(service, DemoService.class, url));
    exporters.add(exporter);

    url = url.setProtocol("dubbo");
    assertTrue(InjvmProtocol.getInjvmProtocol().isInjvmRefer(url));

    url = url.addParameter(Constants.GROUP_KEY, "*")
        .addParameter(Constants.VERSION_KEY, "*");
    assertTrue(InjvmProtocol.getInjvmProtocol().isInjvmRefer(url));
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:16,代码来源:InjvmProtocolTest.java

示例5: loadRegistries

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
protected List<URL> loadRegistries(boolean provider) {
    //检查注册中心配置,并填充各种Registry属性
    checkRegistry();
    //存放注册中心的URL
    List<URL> registryList = new ArrayList<URL>();
    if (registries != null && registries.size() > 0) {
        //遍历注册中心配置
        for (RegistryConfig config : registries) {
            //获取配置中的注册中心地址
            String address = config.getAddress();
            if (address == null || address.length() == 0) {
                //没配置,使用默认的0.0.0.0
            	address = Constants.ANYHOST_VALUE;
            }
            //尝试从系统属性中获取
            String sysaddress = System.getProperty("dubbo.registry.address");
            if (sysaddress != null && sysaddress.length() > 0) {
                address = sysaddress;
            }
            if (address != null && address.length() > 0 
                    && ! RegistryConfig.NO_AVAILABLE.equalsIgnoreCase(address)) {
                Map<String, String> map = new HashMap<String, String>();
                //配置的application中的属性取出来放到map中
                appendParameters(map, application);
                //配置的registry中的属性取出来放到map中
                appendParameters(map, config);
                //服务名
                map.put("path", RegistryService.class.getName());
                //dubbo的版本
                map.put("dubbo", Version.getVersion());
                //时间戳
                map.put(Constants.TIMESTAMP_KEY, String.valueOf(System.currentTimeMillis()));
                //pid
                if (ConfigUtils.getPid() > 0) {
                    map.put(Constants.PID_KEY, String.valueOf(ConfigUtils.getPid()));
                }
                //map中不存在protocol,说明没有配置procotol
                if (! map.containsKey("protocol")) {
                    //查看有没有名为remote的Registry的实现类
                    if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("remote")) {
                        map.put("protocol", "remote");
                    } else {//没有的话Protocol使用dubbo
                        map.put("protocol", "dubbo");
                    }
                }
                //解析生成url
                //zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=dubbo-provider&application.version=1.0&
                // dubbo=2.5.3&environment=product&organization=china&owner=cheng.xi&pid=17268&timestamp=1488986530185
                List<URL> urls = UrlUtils.parseURLs(address, map);
                for (URL url : urls) {
                    url = url.addParameter(Constants.REGISTRY_KEY, url.getProtocol());
                    url = url.setProtocol(Constants.REGISTRY_PROTOCOL);
                    if ((provider && url.getParameter(Constants.REGISTER_KEY, true))
                            || (! provider && url.getParameter(Constants.SUBSCRIBE_KEY, true))) {
                        registryList.add(url);
                    }
                }
            }
        }
    }
    //返回的url为registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=dubbo-provider&application.version=1.0&dubbo=2.5.3&
    // environment=product&organization=china&owner=cheng.xi&pid=17268&registry=zookeeper&timestamp=1488986530185
    return registryList;
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:65,代码来源:AbstractInterfaceConfig.java

示例6: loadRegistries

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
protected List<URL> loadRegistries(boolean provider) {
    checkRegistry();
    List<URL> registryList = new ArrayList<URL>();
    if (registries != null && registries.size() > 0) {
        for (RegistryConfig config : registries) {
            String address = config.getAddress();
            if (address == null || address.length() == 0) {
            	address = Constants.ANYHOST_VALUE;
            }
            String sysaddress = System.getProperty("dubbo.registry.address");
            if (sysaddress != null && sysaddress.length() > 0) {
                address = sysaddress;
            }
            if (address != null && address.length() > 0 
                    && ! RegistryConfig.NO_AVAILABLE.equalsIgnoreCase(address)) {
                Map<String, String> map = new HashMap<String, String>();
                appendParameters(map, application);
                appendParameters(map, config);
                map.put("path", RegistryService.class.getName());
                map.put("dubbo", Version.getVersion());
                map.put(Constants.TIMESTAMP_KEY, String.valueOf(System.currentTimeMillis()));
                if (ConfigUtils.getPid() > 0) {
                    map.put(Constants.PID_KEY, String.valueOf(ConfigUtils.getPid()));
                }
                if (! map.containsKey("protocol")) {
                    if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("remote")) {
                        map.put("protocol", "remote");
                    } else {
                        map.put("protocol", "dubbo");
                    }
                }
                List<URL> urls = UrlUtils.parseURLs(address, map);
                for (URL url : urls) {
                    url = url.addParameter(Constants.REGISTRY_KEY, url.getProtocol());
                    url = url.setProtocol(Constants.REGISTRY_PROTOCOL);
                    if ((provider && url.getParameter(Constants.REGISTER_KEY, true))
                            || (! provider && url.getParameter(Constants.SUBSCRIBE_KEY, true))) {
                        registryList.add(url);
                    }
                }
            }
        }
    }
    return registryList;
}
 
开发者ID:zhuxiaolei,项目名称:dubbo2,代码行数:46,代码来源:AbstractInterfaceConfig.java

示例7: loadRegistries

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
protected List<URL> loadRegistries(boolean provider) {
    checkRegistry();
    List<URL> registryList = new ArrayList<URL>();
    if (registries != null && registries.size() > 0) {
        for (RegistryConfig config : registries) {
            String address = config.getAddress();
            if (address == null || address.length() == 0) {
            	address = Constants.ANYHOST_VALUE;
            }
            String sysaddress = System.getProperty("dubbo.registry.address");
            if (sysaddress != null && sysaddress.length() > 0) {
                address = sysaddress;
            }
            if (address != null && address.length() > 0 
                    && ! RegistryConfig.NO_AVAILABLE.equalsIgnoreCase(address)) {
                Map<String, String> map = new HashMap<String, String>();
                appendParameters(map, application);
                appendParameters(map, config);
                //测试==============
                appendParameters(map, mockSystemUrlConfig);
                map.put("path", RegistryService.class.getName());
                map.put("dubbo", Version.getVersion());
                map.put(Constants.TIMESTAMP_KEY, String.valueOf(System.currentTimeMillis()));
                if (ConfigUtils.getPid() > 0) {
                    map.put(Constants.PID_KEY, String.valueOf(ConfigUtils.getPid()));
                }
                if (! map.containsKey("protocol")) {
                    if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("remote")) {
                        map.put("protocol", "remote");
                    } else {
                        map.put("protocol", "dubbo");
                    }
                }
                List<URL> urls = UrlUtils.parseURLs(address, map);
                for (URL url : urls) {
                    url = url.addParameter(Constants.REGISTRY_KEY, url.getProtocol());
                    url = url.setProtocol(Constants.REGISTRY_PROTOCOL);
                    if ((provider && url.getParameter(Constants.REGISTER_KEY, true))
                            || (! provider && url.getParameter(Constants.SUBSCRIBE_KEY, true))) {
                        registryList.add(url);
                    }
                }
            }
        }
    }
    return registryList;
}
 
开发者ID:flychao88,项目名称:dubbocloud,代码行数:48,代码来源:AbstractInterfaceConfig.java


注:本文中的com.alibaba.dubbo.common.URL.setProtocol方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。