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


Java Configurator.configure方法代码示例

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


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

示例1: mergeUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
/**
 * 合并url参数 顺序为override > -D >Consumer > Provider
 * @param providerUrl
 * @param overrides
 * @return
 */
private URL mergeUrl(URL providerUrl){
    providerUrl = ClusterUtils.mergeUrl(providerUrl, queryMap); // 合并消费端参数
    
    List<Configurator> localConfigurators = this.configurators; // local reference
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            providerUrl = configurator.configure(providerUrl);
        }
    }
    
    providerUrl = providerUrl.addParameter(Constants.CHECK_KEY, String.valueOf(false)); // 不检查连接是否成功,总是创建Invoker!
    
    //directoryUrl 与 override 合并是在notify的最后,这里不能够处理
    this.overrideDirectoryUrl = this.overrideDirectoryUrl.addParametersIfAbsent(providerUrl.getParameters()); // 合并提供者参数        
    
    if ((providerUrl.getPath() == null || providerUrl.getPath().length() == 0)
            && "dubbo".equals(providerUrl.getProtocol())) { // 兼容1.0
        //fix by tony.chenl DUBBO-44
        String path = directoryUrl.getParameter(Constants.INTERFACE_KEY);
        if (path != null) {
            int i = path.indexOf('/');
            if (i >= 0) {
                path = path.substring(i + 1);
            }
            i = path.lastIndexOf(':');
            if (i >= 0) {
                path = path.substring(0, i);
            }
            providerUrl = providerUrl.setPath(path);
        }
    }
    return providerUrl;
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:40,代码来源:RegistryDirectory.java

示例2: getNewInvokerUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
private URL getNewInvokerUrl(URL url, List<URL> urls){
	List<Configurator> localConfigurators = this.configurators; // local reference
    // 合并override参数
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            url = configurator.configure(url);
        }
    }
    return url;
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:11,代码来源:RegistryProtocol.java

示例3: mergeUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
/**
 * 合并url参数 顺序为override > -D >Consumer > Provider
 *
 * @param providerUrl
 * @param overrides
 * @return
 */
private URL mergeUrl(URL providerUrl) {
    providerUrl = ClusterUtils.mergeUrl(providerUrl, queryMap); // 合并消费端参数

    List<Configurator> localConfigurators = this.configurators; // local reference
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            providerUrl = configurator.configure(providerUrl);
        }
    }

    providerUrl = providerUrl.addParameter(Constants.CHECK_KEY, String.valueOf(false)); // 不检查连接是否成功,总是创建Invoker!

    //directoryUrl 与 override 合并是在notify的最后,这里不能够处理
    this.overrideDirectoryUrl = this.overrideDirectoryUrl.addParametersIfAbsent(providerUrl.getParameters()); // 合并提供者参数        

    if ((providerUrl.getPath() == null || providerUrl.getPath().length() == 0)
            && "dubbo".equals(providerUrl.getProtocol())) { // 兼容1.0
        //fix by tony.chenl DUBBO-44
        String path = directoryUrl.getParameter(Constants.INTERFACE_KEY);
        if (path != null) {
            int i = path.indexOf('/');
            if (i >= 0) {
                path = path.substring(i + 1);
            }
            i = path.lastIndexOf(':');
            if (i >= 0) {
                path = path.substring(0, i);
            }
            providerUrl = providerUrl.setPath(path);
        }
    }
    return providerUrl;
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:41,代码来源:RegistryDirectory.java

示例4: mergeUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
/**
 * 合并url参数 顺序为override > -D >Consumer > Provider
 * 
 * @param providerUrl
 * @param overrides
 * @return
 */
private URL mergeUrl(URL providerUrl) {
	providerUrl = ClusterUtils.mergeUrl(providerUrl, queryMap); // 合并消费端参数

	List<Configurator> localConfigurators = this.configurators; // local
																// reference
	if (localConfigurators != null && localConfigurators.size() > 0) {
		for (Configurator configurator : localConfigurators) {
			providerUrl = configurator.configure(providerUrl);
		}
	}

	providerUrl = providerUrl.addParameter(Constants.CHECK_KEY, String.valueOf(false)); // 不检查连接是否成功,总是创建Invoker!

	// directoryUrl 与 override 合并是在notify的最后,这里不能够处理
	this.overrideDirectoryUrl = this.overrideDirectoryUrl.addParametersIfAbsent(providerUrl.getParameters()); // 合并提供者参数

	if ((providerUrl.getPath() == null || providerUrl.getPath().length() == 0)
			&& "dubbo".equals(providerUrl.getProtocol())) { // 兼容1.0
		// fix by tony.chenl DUBBO-44
		String path = directoryUrl.getParameter(Constants.INTERFACE_KEY);
		if (path != null) {
			int i = path.indexOf('/');
			if (i >= 0) {
				path = path.substring(i + 1);
			}
			i = path.lastIndexOf(':');
			if (i >= 0) {
				path = path.substring(0, i);
			}
			providerUrl = providerUrl.setPath(path);
		}
	}
	return providerUrl;
}
 
开发者ID:nince-wyj,项目名称:jahhan,代码行数:42,代码来源:RegistryDirectory.java

示例5: notify

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
public synchronized void notify(List<URL> urls) {
    List<URL> invokerUrls = new ArrayList<URL>();
    List<URL> routerUrls = new ArrayList<URL>();
    List<URL> configuratorUrls = new ArrayList<URL>();
    for (URL url : urls) {
        String protocol = url.getProtocol();
        String category = url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);
        if (Constants.ROUTERS_CATEGORY.equals(category) 
                || Constants.ROUTE_PROTOCOL.equals(protocol)) {
            routerUrls.add(url);
        } else if (Constants.CONFIGURATORS_CATEGORY.equals(category) 
                || Constants.OVERRIDE_PROTOCOL.equals(protocol)) {
            configuratorUrls.add(url);
        } else if (Constants.PROVIDERS_CATEGORY.equals(category)) {
            invokerUrls.add(url);
        } else {
            logger.warn("Unsupported category " + category + " in notified url: " + url + " from registry " + getUrl().getAddress() + " to consumer " + NetUtils.getLocalHost());
        }
    }
    // configurators 
    if (configuratorUrls != null && configuratorUrls.size() >0 ){
        this.configurators = toConfigurators(configuratorUrls);
    }
    // routers
    if (routerUrls != null && routerUrls.size() >0 ){
        List<Router> routers = toRouters(routerUrls);
        if(routers != null){ // null - do nothing
            setRouters(routers);
        }
    }
    List<Configurator> localConfigurators = this.configurators; // local reference
    // 合并override参数
    this.overrideDirectoryUrl = directoryUrl;
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            this.overrideDirectoryUrl = configurator.configure(overrideDirectoryUrl);
        }
    }
    // providers
    refreshInvoker(invokerUrls);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:42,代码来源:RegistryDirectory.java

示例6: notify

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
public synchronized void notify(List<URL> urls) {
    List<URL> invokerUrls = new ArrayList<URL>();
    List<URL> routerUrls = new ArrayList<URL>();
    List<URL> configuratorUrls = new ArrayList<URL>();
    for (URL url : urls) {
        String protocol = url.getProtocol();
        String category = url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);
        if (Constants.ROUTERS_CATEGORY.equals(category)
                || Constants.ROUTE_PROTOCOL.equals(protocol)) {
            routerUrls.add(url);
        } else if (Constants.CONFIGURATORS_CATEGORY.equals(category)
                || Constants.OVERRIDE_PROTOCOL.equals(protocol)) {
            configuratorUrls.add(url);
        } else if (Constants.PROVIDERS_CATEGORY.equals(category)) {
            invokerUrls.add(url);
        } else {
            logger.warn("Unsupported category " + category + " in notified url: " + url + " from registry " + getUrl().getAddress() + " to consumer " + NetUtils.getLocalHost());
        }
    }
    // configurators
    if (configuratorUrls != null && configuratorUrls.size() > 0) {
        this.configurators = toConfigurators(configuratorUrls);
    }
    // routers
    if (routerUrls != null && routerUrls.size() > 0) {
        List<Router> routers = toRouters(routerUrls);
        if (routers != null) { // null - do nothing
            setRouters(routers);
        }
    }
    List<Configurator> localConfigurators = this.configurators; // local reference
    // 合并override参数
    this.overrideDirectoryUrl = directoryUrl;
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            this.overrideDirectoryUrl = configurator.configure(overrideDirectoryUrl);
        }
    }
    // providers
    refreshInvoker(invokerUrls);
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:42,代码来源:RegistryDirectory.java

示例7: getConfigedInvokerUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
private URL getConfigedInvokerUrl(List<Configurator> configurators, URL url) {
    for (Configurator configurator : configurators) {
        url = configurator.configure(url);
    }
    return url;
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:7,代码来源:RegistryProtocol.java

示例8: notify

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
public synchronized void notify(List<URL> urls) {
    //urls : 是多种类型的混合列表
    List<URL> invokerUrls = new ArrayList<URL>();
    List<URL> routerUrls = new ArrayList<URL>();
    List<URL> configuratorUrls = new ArrayList<URL>();
    //根据category区分不同类型的URL
    for (URL url : urls) {
        String protocol = url.getProtocol();//协议
        String category = url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);//category类型
        //如果是路由类型
        if (Constants.ROUTERS_CATEGORY.equals(category)
                || Constants.ROUTE_PROTOCOL.equals(protocol)) {
            routerUrls.add(url);
        //如果是配置类型
        } else if (Constants.CONFIGURATORS_CATEGORY.equals(category) 
                || Constants.OVERRIDE_PROTOCOL.equals(protocol)) {
            configuratorUrls.add(url);
        //如果是服务提供者的类型
        } else if (Constants.PROVIDERS_CATEGORY.equals(category)) {
            invokerUrls.add(url);
        } else {
            logger.warn("Unsupported category " + category + " in notified url: " + url + " from registry " + getUrl().getAddress() + " to consumer " + NetUtils.getLocalHost());
        }
    }
    // 将配置的URL列表转换为configurators
    if (configuratorUrls != null && configuratorUrls.size() >0 ){
        this.configurators = toConfigurators(configuratorUrls);
    }
    // 将URL列表都转换为Router对象
    if (routerUrls != null && routerUrls.size() >0 ){
        List<Router> routers = toRouters(routerUrls);
        if(routers != null){ // null - do nothing
            setRouters(routers);
        }
    }
    List<Configurator> localConfigurators = this.configurators; // local reference
    // 合并override参数
    this.overrideDirectoryUrl = directoryUrl;
    if (localConfigurators != null && localConfigurators.size() > 0) {
        for (Configurator configurator : localConfigurators) {
            this.overrideDirectoryUrl = configurator.configure(overrideDirectoryUrl);
        }
    }
    // providers
    refreshInvoker(invokerUrls);
}
 
开发者ID:DoubleSmile,项目名称:dubbo-learning,代码行数:47,代码来源:RegistryDirectory.java

示例9: getConfigedInvokerUrl

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
private URL getConfigedInvokerUrl(List<Configurator> configurators, URL url) {
	for (Configurator configurator : configurators) {
		url = configurator.configure(url);
	}
	return url;
}
 
开发者ID:nince-wyj,项目名称:jahhan,代码行数:7,代码来源:RegistryProtocol.java

示例10: notify

import com.alibaba.dubbo.rpc.cluster.Configurator; //导入方法依赖的package包/类
public synchronized void notify(List<URL> urls) {
	List<URL> invokerUrls = new ArrayList<URL>();
	List<URL> routerUrls = new ArrayList<URL>();
	List<URL> configuratorUrls = new ArrayList<URL>();
	for (URL url : urls) {
		String protocol = url.getProtocol();
		String category = url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);
		if (Constants.ROUTERS_CATEGORY.equals(category) || Constants.ROUTE_PROTOCOL.equals(protocol)) {
			routerUrls.add(url);
		} else if (Constants.CONFIGURATORS_CATEGORY.equals(category)
				|| Constants.OVERRIDE_PROTOCOL.equals(protocol)) {
			configuratorUrls.add(url);
		} else if (Constants.PROVIDERS_CATEGORY.equals(category)) {
			invokerUrls.add(url);
		} else {
			log.warn("Unsupported category " + category + " in notified url: " + url + " from registry "
					+ getUrl().getAddress() + " to consumer " + NetUtils.getLocalHost());
		}
	}
	// configurators
	if (configuratorUrls != null && configuratorUrls.size() > 0) {
		this.configurators = toConfigurators(configuratorUrls);
	}
	// routers
	if (routerUrls != null && routerUrls.size() > 0) {
		List<Router> routers = toRouters(routerUrls);
		if (routers != null) { // null - do nothing
			setRouters(routers);
		}
	}
	List<Configurator> localConfigurators = this.configurators; // local
																// reference
	// 合并override参数
	this.overrideDirectoryUrl = directoryUrl;
	if (localConfigurators != null && localConfigurators.size() > 0) {
		for (Configurator configurator : localConfigurators) {
			this.overrideDirectoryUrl = configurator.configure(overrideDirectoryUrl);
		}
	}
	// providers
	refreshInvoker(invokerUrls);
}
 
开发者ID:nince-wyj,项目名称:jahhan,代码行数:43,代码来源:RegistryDirectory.java


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