@Override public void onStage(final LifecycleStage stage) { ServiceAnnouncer.this.unannounce(); } });
public ServiceInformation build() { return new ServiceInformation(serviceName, serviceType, serviceId, grabBag); } }
@Override public String apply(ServiceInformation input) { if (input == null) { return null; } return input.getServiceName(); } };
@OnStage(LifecycleStage.ANNOUNCE) public void announce() { final HttpConnector connector = httpServer.getConnectors().get("internal-http"); Preconditions.checkState(connector != null, "could not find internal http connector!"); serviceInfo = ServiceInformation.forService(serviceName, null, "http", "localhost", connector.getPort()); discoveryClient.announce(serviceInfo); }
protected Module getServiceDiscoveryModule() { return new DiscoveryClientModule(); }
void announce() { LOG.debug("Service announcer is about to announce %s", services); Preconditions.checkState(discoveryClient != null, "No discovery client injected!"); if (services != null) { for (ServiceInformation si : services) { discoveryClient.announce(si); } } }
@OnStage(LifecycleStage.STOP) public void unannounce() { if (serviceInfo != null) { discoveryClient.unannounce(serviceInfo); serviceInfo = null; } } }
/** * Select a service with a particular qualifier */ public static ServiceHint withQualifier(String qualifier) { return new ServiceHint(QUALIFIER_HINT, qualifier); }
@Override public void onStage(final LifecycleStage stage) { ServiceAnnouncer.this.announce(); } });
protected final String getNodePath(final String nodeName) { return discoveryConfig.getRoot() + "/" + nodeName; }
public static ServiceURI valueOf(final String uri) { try { return new ServiceURI(uri); } catch (final URISyntaxException use) { throw new IllegalArgumentException(use); } }
@Override public int compare(ServiceInformation o1, ServiceInformation o2) { return o1.getServiceId().compareTo(o2.getServiceId()); } });
public static ServiceInformation staticAnnouncement(final String serviceName, final String serviceType, final String serviceScheme, final String serviceAddress, final int port) { return staticAnnouncement(UUID.randomUUID(), serviceName, serviceType, serviceScheme, serviceAddress, port); }
void unannounce(final ServiceInformation serviceInformation) { localAnnouncements.remove(serviceInformation); announcementGeneration.incrementAndGet(); if (serviceInformation.isStaticAnnouncement()) { staticAnnouncementsToRemove.add(serviceInformation); } }
ServiceDiscoveryReader(final DiscoveryClientConfig discoveryConfig, final ObjectMapper objectMapper, final StateOfTheWorldHolder stateHolder) { super(discoveryConfig, objectMapper); this.stateHolder = stateHolder; this.penaltyTime = discoveryConfig.getPenaltyTime().getMillis() * 1000000L; }
@Override public Module getTestCaseModule(final Config config) { return Modules.override(new DiscoveryClientModule()).with(new AbstractModule() { @Override protected void configure() { bind (DiscoveryClient.class).toInstance(mockedClient); bind (ReadOnlyDiscoveryClient.class).toInstance(mockedClient); } }); }
void unannounce() { LOG.debug("Service announcer is about to unannounce %s", services); Preconditions.checkState(discoveryClient != null, "No discovery client injected!"); if (services != null) { for (ServiceInformation si : services) { discoveryClient.unannounce(si); } } } }
/** Selects a service that serves the requested hash key. * * @param hashKey (example: user id, or another consistent identifier) * @return */ public static ServiceHint servesKey(String hashKey) { return new ServiceHint(CONSISTENTHASH_HINT, hashKey); } }
public static ServiceInformation staticAnnouncement(final UUID serviceId, final String serviceName, final String serviceType, final String serviceScheme, final String serviceAddress, final int port) { return new ServiceInformation(serviceName, serviceType, serviceId, ImmutableMap.of(PROP_SERVICE_SCHEME, serviceScheme, PROP_SERVICE_ADDRESS, serviceAddress, PROP_SERVICE_PORT, Integer.toString(port)), true); }
public static ServiceHint withVersion(int version) { return new ServiceHint(VERSION_HINT, String.valueOf(version)); }