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


Java URL.equals方法代码示例

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


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

示例1: notify

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
public void notify(List<URL> urls) {
	List<URL> result = null;
	for (URL url : urls) {
		URL overrideUrl = url;
		if (url.getParameter(Constants.CATEGORY_KEY) == null
				&& Constants.OVERRIDE_PROTOCOL.equals(url.getProtocol())) {
			// 兼容旧版本
			overrideUrl = url.addParameter(Constants.CATEGORY_KEY, Constants.CONFIGURATORS_CATEGORY);
		}
		if (! UrlUtils.isMatch(subscribeUrl, overrideUrl)) {
			if (result == null) {
				result = new ArrayList<URL>(urls);
			}
			result.remove(url);
			logger.warn("Subsribe category=configurator, but notifed non-configurator urls. may be registry bug. unexcepted url: " + url);
		}
	}
	if (result != null) {
		urls = result;
	}
	this.configurators = RegistryDirectory.toConfigurators(urls);
    List<ExporterChangeableWrapper<?>> exporters = new ArrayList<ExporterChangeableWrapper<?>>(bounds.values());
    for (ExporterChangeableWrapper<?> exporter : exporters){
        Invoker<?> invoker = exporter.getOriginInvoker();
        final Invoker<?> originInvoker ;
        if (invoker instanceof InvokerDelegete){
            originInvoker = ((InvokerDelegete<?>)invoker).getInvoker();
        }else {
            originInvoker = invoker;
        }
        
        URL originUrl = RegistryProtocol.this.getProviderUrl(originInvoker);
        URL newUrl = getNewInvokerUrl(originUrl, urls);
        
        if (! originUrl.equals(newUrl)){
            RegistryProtocol.this.doChangeLocalExport(originInvoker, newUrl);
        }
    }
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:40,代码来源:RegistryProtocol.java

示例2: notify

import com.alibaba.dubbo.common.URL; //导入方法依赖的package包/类
/**
 * @param urls 已注册信息列表,总不为空,含义同{@link com.alibaba.dubbo.registry.RegistryService#lookup(URL)}的返回值。
 */
public synchronized void notify(List<URL> urls) {
    logger.debug("original override urls: " + urls);
    List<URL> matchedUrls = getMatchedUrls(urls, subscribeUrl);
    logger.debug("subscribe url: " + subscribeUrl + ", override urls: " + matchedUrls);
    //没有匹配的
    if (matchedUrls.isEmpty()) {
        return;
    }

    List<Configurator> configurators = RegistryDirectory.toConfigurators(matchedUrls);

    final Invoker<?> invoker;
    if (originInvoker instanceof InvokerDelegete) {
        invoker = ((InvokerDelegete<?>) originInvoker).getInvoker();
    } else {
        invoker = originInvoker;
    }
    //最原始的invoker
    URL originUrl = RegistryProtocol.this.getProviderUrl(invoker);
    String key = getCacheKey(originInvoker);
    ExporterChangeableWrapper<?> exporter = bounds.get(key);
    if (exporter == null) {
        logger.warn(new IllegalStateException("error state, exporter should not be null"));
        return;
    }
    //当前的,可能经过了多次merge
    URL currentUrl = exporter.getInvoker().getUrl();
    //与本次配置merge的
    URL newUrl = getConfigedInvokerUrl(configurators, originUrl);
    if (!currentUrl.equals(newUrl)) {
        RegistryProtocol.this.doChangeLocalExport(originInvoker, newUrl);
        logger.info("exported provider url changed, origin url: " + originUrl + ", old export url: " + currentUrl + ", new export url: " + newUrl);
    }
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:38,代码来源:RegistryProtocol.java


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