private static void updateConnectorIdAnnouncement(Announcer announcer, ConnectorId connectorId, InternalNodeManager nodeManager) { // // This code was copied from PrestoServer, and is a hack that should be removed when the connectorId property is removed // // get existing announcement ServiceAnnouncement announcement = getPrestoAnnouncement(announcer.getServiceAnnouncements()); // update connectorIds property Map<String, String> properties = new LinkedHashMap<>(announcement.getProperties()); String property = nullToEmpty(properties.get("connectorIds")); Set<String> connectorIds = new LinkedHashSet<>(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property)); connectorIds.add(connectorId.toString()); properties.put("connectorIds", Joiner.on(',').join(connectorIds)); // update announcement announcer.removeServiceAnnouncement(announcement.getId()); announcer.addServiceAnnouncement(serviceAnnouncement(announcement.getType()).addProperties(properties).build()); announcer.forceAnnounce(); nodeManager.refreshNodes(); }
ServiceAnnouncementBuilder builder = serviceAnnouncement(announcement.getType()); for (Map.Entry<String, String> entry : announcement.getProperties().entrySet()) { if (!entry.getKey().equals("connectorIds")) {
@Override public void configure(Binder binder) { binder.disableCircularProxies(); binder.bind(Servlet.class).annotatedWith(bindingAnnotation).to(MBeanServerServlet.class).in(Scopes.SINGLETON); binder.bind(new TypeLiteral<Map<String, String>>() {}).annotatedWith(bindingAnnotation).toInstance(ImmutableMap.<String, String>of()); ServiceAnnouncementBuilder serviceAnnouncementBuilder = serviceAnnouncement("jmx-http-rpc"); discoveryBinder(binder).bindServiceAnnouncement(new JmxHttpRpcAnnouncementProvider(serviceAnnouncementBuilder)); configBinder(binder).bindConfig(JmxHttpRpcConfig.class); }
public ServiceAnnouncementBuilder bindHttpAnnouncement(String type) { ServiceAnnouncementBuilder serviceAnnouncementBuilder = serviceAnnouncement(type); bindServiceAnnouncement(new HttpAnnouncementProvider(serviceAnnouncementBuilder)); return serviceAnnouncementBuilder; }
@Override public void configure(Binder binder) { binder.disableCircularProxies(); binder.bind(Servlet.class).annotatedWith(bindingAnnotation).to(MBeanServerServlet.class).in(Scopes.SINGLETON); binder.bind(new TypeLiteral<Map<String, String>>() {}).annotatedWith(bindingAnnotation).toInstance(ImmutableMap.<String, String>of()); ServiceAnnouncementBuilder serviceAnnouncementBuilder = serviceAnnouncement("jmx-http-rpc"); discoveryBinder(binder).bindServiceAnnouncement(new JmxHttpRpcAnnouncementProvider(serviceAnnouncementBuilder)); configBinder(binder).bindConfig(JmxHttpRpcConfig.class); }
public ServiceAnnouncementBuilder bindHttpAnnouncement(String type) { ServiceAnnouncementBuilder serviceAnnouncementBuilder = serviceAnnouncement(type); bindServiceAnnouncement(new HttpAnnouncementProvider(serviceAnnouncementBuilder)); return serviceAnnouncementBuilder; }
@Test public void testToString() { assertNotNull(serviceAnnouncement("foo").build()); }
@Test public void testToString() { assertNotNull(serviceAnnouncement("foo").build()); }
@Override public ServiceAnnouncement get() { return serviceAnnouncement("jmx") .addProperty("jmx", jmxAgent.getUrl().toString()) .build(); } }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }
@Test public void testToString() { assertNotNull(new Announcement("environment", "node", "pool", "location", ImmutableSet.of( serviceAnnouncement("foo") .addProperty("http", "http://localhost:8080") .addProperty("jmx", "jmx://localhost:1234") .build()) )); }
@Test public void testHttpsSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("https", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("fake://server-https")); }
@Test public void addAnnouncementAfterStart() throws Exception { assertAnnounced(); announcer.start(); ServiceAnnouncement newAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer.addServiceAnnouncement(newAnnouncement); Thread.sleep(100); assertAnnounced(serviceAnnouncement, newAnnouncement); }
@Test public void addAnnouncementAfterStart() throws Exception { assertAnnounced(); announcer.start(); ServiceAnnouncement newAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer.addServiceAnnouncement(newAnnouncement); Thread.sleep(100); assertAnnounced(serviceAnnouncement, newAnnouncement); }
@Test public void addAnnouncementAfterStart() throws Exception { assertAnnounced(); announcer.start(); ServiceAnnouncement newAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer.addServiceAnnouncement(newAnnouncement); Thread.sleep(100); assertAnnounced(serviceAnnouncement, newAnnouncement); }
@BeforeMethod protected void setUp() throws Exception { nodeInfo = new NodeInfo(new NodeConfig().setEnvironment("test").setPool("pool")); discoveryClient = new InMemoryDiscoveryClient(nodeInfo, MAX_AGE); serviceAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer = new Announcer(discoveryClient, ImmutableSet.of(serviceAnnouncement)); }
@BeforeMethod protected void setUp() throws Exception { nodeInfo = new NodeInfo(new NodeConfig().setEnvironment("test").setPool("pool")); discoveryClient = new InMemoryDiscoveryClient(nodeInfo, MAX_AGE); serviceAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer = new Announcer(discoveryClient, ImmutableSet.of(serviceAnnouncement)); }
@BeforeMethod protected void setUp() throws Exception { nodeInfo = new NodeInfo(new NodeConfig().setEnvironment("test").setPool("pool")); discoveryClient = new InMemoryDiscoveryClient(nodeInfo, MAX_AGE); serviceAnnouncement = ServiceAnnouncement.serviceAnnouncement(serviceType.value()).addProperty("a", "apple").build(); announcer = new Announcer(discoveryClient, ImmutableSet.of(serviceAnnouncement)); }