@Inject public ReadOnlyDiscoveryClientImpl(@Named(DiscoveryClientModule.ZOOKEEPER_CONNECT_NAME) final String connectString, final DiscoveryClientConfig discoveryConfig, final ObjectMapper objectMapper) { super(discoveryConfig.isEnabled()); if (discoveryConfig.isEnabled()) { Preconditions.checkState(!StringUtils.isBlank(connectString), "no zookeeper server configured!"); } this.connectString = connectString; this.discoveryConfig = discoveryConfig; serviceDiscoveryVisitors.add(new ServiceDiscoveryReader(discoveryConfig, objectMapper, getStateOfTheWorldHolder())); }
@Provides @Singleton @Named(ZOOKEEPER_CONNECT_NAME) String getConnectString(@Named(ZOOKEEPER_CONNECT_NAME) final Map<Integer, InetSocketAddress> zookeeperServers, final DiscoveryClientConfig clientConfig) { final StringBuilder sb = new StringBuilder(); for (final InetSocketAddress address : zookeeperServers.values()) { if (sb.length() > 0) { sb.append(','); } sb.append(address.getAddress().getHostAddress()).append(':').append(address.getPort()); } if (sb.length() == 0) { if (clientConfig.isEnabled()) { throw new IllegalStateException("Service discovery is enabled but no servers found!"); } else { LOG.info("No servers found!"); } } return sb.toString(); }
public synchronized void stop() { if (discoveryConfig.isEnabled()) { if (discoveryThread == null) { LOG.warn("Client was never started!"); } else { discoveryThread.interrupt(); try { discoveryThread.join(discoveryConfig.getZookeeperTimeout().getMillis()); } catch (InterruptedException ie) { Thread.currentThread().interrupt(); } LOG.info("Stopped Discovery client"); } } } }
if (!discoveryClientConfig.isEnabled()) { throw new ServiceNotAvailableException("Service discovery is disabled!");
if (!clientConfig.isEnabled()) { LOG.warn("Service Discovery is administratively disabled.");
public synchronized void start() if (!discoveryConfig.isEnabled()) { LOG.info("Discovery service is disabled.");