本文整理汇总了Java中com.orbitz.consul.model.catalog.CatalogService.getServiceAddress方法的典型用法代码示例。如果您正苦于以下问题:Java CatalogService.getServiceAddress方法的具体用法?Java CatalogService.getServiceAddress怎么用?Java CatalogService.getServiceAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.orbitz.consul.model.catalog.CatalogService
的用法示例。
在下文中一共展示了CatalogService.getServiceAddress方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: _discover
import com.orbitz.consul.model.catalog.CatalogService; //导入方法依赖的package包/类
protected Collection<ServiceInfo> _discover(CatalogClient catalogClient,
String serviceName,
Collection<Integer> ports,
Collection<String> mustMatchTags) throws Exception {
List<ServiceInfo> discoveredServices = new ArrayList<ServiceInfo>();
ConsulResponse<List<CatalogService>> resp = catalogClient.getService(serviceName);
List<CatalogService> serviceList = resp.getResponse();
logger.trace("_discover() catalogClient.getService("+serviceName+") returned " + serviceList.size() + " results..");
for (CatalogService srv : serviceList) {
logger.trace("_discover() evaluating consul service: name:" + srv.getServiceName() +
" serviceId:" + srv.getServiceId() +
" servicePort:" + srv.getServicePort() +
" tags: " + Arrays.toString(srv.getServiceTags().toArray()));
if (matchesTags(srv.getServiceTags(),mustMatchTags)) {
try {
// we parse mapped port from serviceId format "xx:yy:port"
// registrator sets the serviceId = to this format above for each
// unique port
int mappedPort = Integer.valueOf(srv.getServiceId().split(":")[2]);
// if we care about this mapped port... capture the service
if (ports.contains(mappedPort)) {
InetAddress exposedAddress = null;
if (srv.getServiceAddress() != null) {
exposedAddress = InetAddress.getByName(srv.getServiceAddress());
} else {
// https://www.consul.io/docs/agent/http/catalog.html#ServiceAddress
logger.trace("_discover() CatalogService.serviceAddress is null... "
+ "falling back to address["+srv.getAddress()+"]");
exposedAddress = InetAddress.getByName(srv.getAddress());
}
ServiceInfo info = new ServiceInfo(srv.getServiceName(),
srv.getServiceId(),
exposedAddress,
srv.getServicePort(),
mappedPort,
srv.getServiceTags());
discoveredServices.add(info);
logger.debug("_discover() Discovered ServiceInfo: " + info);
} else {
logger.trace("_discover() serviceNameToFind=" + serviceName +
", skipping consul service: " + srv.getServiceName() +
" as its mappedPort[" + mappedPort + "] is not in list of "
+ "ports we care about: " + Arrays.toString(ports.toArray()) );;
}
} catch(Exception e) {
throw new Exception("discover() Unexpected error processing "
+ "service: " + srv.getServiceName() + " " + e.getMessage(),e);
}
} else {
logger.trace("_discover() serviceNameToFind=" + serviceName +
" skipping consul service: " + srv.getServiceName() +
" with tags: " + (srv.getServiceTags() != null ? Arrays.toString(srv.getServiceTags().toArray()) : "[no tags]") +
" as they don't contain mustMatchTags: " + Arrays.toString(mustMatchTags.toArray()));
}
}
return discoveredServices;
}
示例2: newServer
import com.orbitz.consul.model.catalog.CatalogService; //导入方法依赖的package包/类
protected ServiceCallServer newServer(CatalogService service) {
return new DefaultServiceCallServer(
service.getServiceAddress(),
service.getServicePort()
);
}
示例3: discoverNodes
import com.orbitz.consul.model.catalog.CatalogService; //导入方法依赖的package包/类
@Override
public Iterable<DiscoveryNode> discoverNodes() {
List<DiscoveryNode> toReturn = new ArrayList<DiscoveryNode>();
try {
// discover healthy nodes only? (and its NOT the first invocation...)
if (this.consulHealthyOnly && discoverNodesInvoked) {
List<ServiceHealth> nodes = consulHealthClient.getHealthyServiceInstances(consulServiceName, ConsulUtility.getAclToken(this.consulAclToken)).getResponse();
for (ServiceHealth node : nodes) {
toReturn.add(new SimpleDiscoveryNode(
new Address(node.getService().getAddress(),node.getService().getPort())));
getLogger().info("Discovered healthy node: " + node.getService().getAddress()+":"+node.getService().getPort());
}
// discover all services, regardless of health or this is the first invocation
} else {
ConsulResponse<List<CatalogService>> response = this.consulCatalogClient.getService(consulServiceName, ConsulUtility.getAclToken(this.consulAclToken));
for (CatalogService service : response.getResponse()) {
String discoveredAddress = null;
String rawServiceAddress = service.getServiceAddress();
String rawAddress = service.getAddress();
if (rawServiceAddress != null && !rawServiceAddress.trim().isEmpty()) {
discoveredAddress = rawServiceAddress;
} else if (rawAddress != null && !rawAddress.trim().isEmpty()) {
getLogger().warning("discoverNodes() ServiceAddress was null/blank! " +
"for service: " + service.getServiceName() +
" falling back to Address value");
discoveredAddress = rawAddress;
} else {
getLogger().warning("discoverNodes() could not discover an address, " +
"both ServiceAddress and Address were null/blank! " +
"for service: " + service.getServiceName());
}
toReturn.add(new SimpleDiscoveryNode(
new Address(discoveredAddress, service.getServicePort())));
getLogger().info("Discovered healthy node: " + discoveredAddress+":"+service.getServicePort());
}
}
} catch(Exception e) {
getLogger().severe("discoverNodes() unexpected error: " + e.getMessage(),e);
}
// flag we were invoked
discoverNodesInvoked = true;
return toReturn;
}