com.orbitz.consul.CatalogClient Java Examples
The following examples show how to use
com.orbitz.consul.CatalogClient.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MultiServiceNameSinglePortStrategy.java From docker-discovery-registrator-consul with Apache License 2.0 | 6 votes |
public Collection<ServiceInfo> discover(CatalogClient catalogClient, String serviceName, Collection<Integer> ports, Collection<String> mustMatchTags) throws Exception { Collection<ServiceInfo> services = new ArrayList<ServiceInfo>(); // for each port, we need to append the port to the serviceName base for (Integer port : ports) { services.addAll( super._discover(catalogClient, (serviceName+"-"+port.toString()), ports, mustMatchTags) ); } return services; }
Example #2
Source File: ConsulModule.java From nano-framework with Apache License 2.0 | 6 votes |
@Override public void configure(final Binder binder) { loading(); cfgs.forEach((id, cfg) -> { final Consul consul = build(cfg); binder.bind(Consul.class).annotatedWith(Names.named(CONSUL_PREFIX + id)).toInstance(consul); binder.bind(AgentClient.class).annotatedWith(Names.named(CONSUL_AGENT_CLIENT_PREFIX + id)).toInstance(consul.agentClient()); binder.bind(HealthClient.class).annotatedWith(Names.named(CONSUL_HEALTH_CLIENT_PREFIX + id)).toInstance(consul.healthClient()); binder.bind(KeyValueClient.class).annotatedWith(Names.named(CONSUL_KEY_VALUE_CLIENT_PREFIX + id)).toInstance(consul.keyValueClient()); binder.bind(CatalogClient.class).annotatedWith(Names.named(CONSUL_CATALOG_CLIENT_PREFIX + id)).toInstance(consul.catalogClient()); binder.bind(StatusClient.class).annotatedWith(Names.named(CONSUL_STATUS_CLIENT_PREFIX + id)).toInstance(consul.statusClient()); binder.bind(SessionClient.class).annotatedWith(Names.named(CONSUL_SESSION_CLIENT_PREFIX + id)).toInstance(consul.sessionClient()); binder.bind(EventClient.class).annotatedWith(Names.named(CONSUL_EVENT_CLIENT_PREFIX + id)).toInstance(consul.eventClient()); binder.bind(PreparedQueryClient.class).annotatedWith(Names.named(CONSUL_PREPARED_QUERY_CLIENT_PREFIX + id)) .toInstance(consul.preparedQueryClient()); binder.bind(CoordinateClient.class).annotatedWith(Names.named(CONSUL_COORDINATE_CLIENT_PREFIX + id)) .toInstance(consul.coordinateClient()); binder.bind(OperatorClient.class).annotatedWith(Names.named(CONSUL_OPERATOR_CLIENT + id)).toInstance(consul.operatorClient()); }); }
Example #3
Source File: ConsulTopologyConnector.java From thorntail with Apache License 2.0 | 5 votes |
@Override public void start(StartContext startContext) throws StartException { ServiceTarget target = startContext.getChildTarget(); CatalogWatcher watcher = new CatalogWatcher(); target.addService(CatalogWatcher.SERVICE_NAME, watcher) .addDependency(CatalogClientService.SERVICE_NAME, CatalogClient.class, watcher.getCatalogClientInjector()) .addDependency(HealthClientService.SERIVCE_NAME, HealthClient.class, watcher.getHealthClientInjector()) .addDependency(TopologyManagerActivator.SERVICE_NAME, TopologyManager.class, watcher.getTopologyManagerInjector()) .install(); }
Example #4
Source File: OneServiceNameMultiPortStrategy.java From docker-discovery-registrator-consul with Apache License 2.0 | 5 votes |
public Collection<ServiceInfo> discover(CatalogClient catalogClient, String serviceName, Collection<Integer> ports, Collection<String> mustMatchTags) throws Exception { return super._discover(catalogClient, serviceName, ports, mustMatchTags); }
Example #5
Source File: ConsulTopologyConnector.java From ARCHIVE-wildfly-swarm with Apache License 2.0 | 5 votes |
@Override public void start(StartContext startContext) throws StartException { ServiceTarget target = startContext.getChildTarget(); ConsulService consul = new ConsulService(this.url); target.addService(ConsulService.SERVICE_NAME, consul) .install(); HealthClientService healthClient = new HealthClientService(); target.addService(HealthClientService.SERIVCE_NAME, healthClient) .addDependency(ConsulService.SERVICE_NAME, Consul.class, healthClient.getConsulInjector()) .install(); AgentClientService agentClient = new AgentClientService(); target.addService(AgentClientService.SERVICE_NAME, agentClient) .addDependency(ConsulService.SERVICE_NAME, Consul.class, agentClient.getConsulInjector()) .install(); CatalogClientService catalogClient = new CatalogClientService(); target.addService(CatalogClientService.SERVICE_NAME, catalogClient) .addDependency(ConsulService.SERVICE_NAME, Consul.class, catalogClient.getConsulInjector()) .install(); this.advertiser = new Advertiser(); target.addService(Advertiser.SERVICE_NAME, advertiser) .addDependency(AgentClientService.SERVICE_NAME, AgentClient.class, advertiser.getAgentClientInjector()) .install(); CatalogWatcher watcher = new CatalogWatcher(); target.addService(CatalogWatcher.SERVICE_NAME, watcher) .addDependency(CatalogClientService.SERVICE_NAME, CatalogClient.class, watcher.getCatalogClientInjector()) .addDependency(HealthClientService.SERIVCE_NAME, HealthClient.class, watcher.getHealthClientInjector()) .addDependency(TopologyManager.SERVICE_NAME, TopologyManager.class, watcher.getTopologyManagerInjector()) .install(); }
Example #6
Source File: CatalogWatcher.java From thorntail with Apache License 2.0 | 4 votes |
public Injector<CatalogClient> getCatalogClientInjector() { return this.catalogClientInjector; }
Example #7
Source File: CatalogClientService.java From thorntail with Apache License 2.0 | 4 votes |
@Override public CatalogClient getValue() throws IllegalStateException, IllegalArgumentException { return this.client; }
Example #8
Source File: ServiceNameStrategyBase.java From docker-discovery-registrator-consul with Apache License 2.0 | 4 votes |
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; }
Example #9
Source File: ServiceNameStrategy.java From docker-discovery-registrator-consul with Apache License 2.0 | 4 votes |
public Collection<ServiceInfo> discover(CatalogClient catalogClient, String serviceName, Collection<Integer> ports, Collection<String> mustMatchTags) throws Exception;
Example #10
Source File: CatalogWatcher.java From ARCHIVE-wildfly-swarm with Apache License 2.0 | 4 votes |
public Injector<CatalogClient> getCatalogClientInjector() { return this.catalogClientInjector; }
Example #11
Source File: CatalogClientService.java From ARCHIVE-wildfly-swarm with Apache License 2.0 | 4 votes |
@Override public CatalogClient getValue() throws IllegalStateException, IllegalArgumentException { return this.client; }