本文整理汇总了Java中com.alibaba.dubbo.rpc.cluster.support.AvailableCluster类的典型用法代码示例。如果您正苦于以下问题:Java AvailableCluster类的具体用法?Java AvailableCluster怎么用?Java AvailableCluster使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AvailableCluster类属于com.alibaba.dubbo.rpc.cluster.support包,在下文中一共展示了AvailableCluster类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createTracingCollector
import com.alibaba.dubbo.rpc.cluster.support.AvailableCluster; //导入依赖的package包/类
@Override
protected TracingCollector createTracingCollector(List<URL> urls) {
Invoker<TracingCollector> invoker;
if(urls.size()==1){
invoker = protocol.refer(TracingCollector.class,urls.get(0));
}else{
List<Invoker<TracingCollector>> invokers = new ArrayList<Invoker<TracingCollector>>();
URL registryURL = null;
for (URL url : urls) {
invokers.add(protocol.refer(TracingCollector.class, url));
if (Constants.REGISTRY_PROTOCOL.equals(url.getProtocol())) {
registryURL = url; // 用了最后一个registry url
}
}
if (registryURL != null) { // 有 注册中心协议的URL
// 对有注册中心的Cluster 只用 AvailableCluster
URL u = registryURL.addParameter(Constants.CLUSTER_KEY, AvailableCluster.NAME);
invoker = cluster.join(new StaticDirectory(u, invokers));
} else { // 不是 注册中心的URL
invoker = cluster.join(new StaticDirectory(invokers));
}
}
TracingCollector tracingCollector = proxyFactory.getProxy(invoker);
return tracingCollector;
}