@Override public void start() { Router router = Router.router(vertx); router.get("/").handler(this::invoke); // Retrieve the service discovery ServiceDiscovery.create(vertx, discovery -> // Retrieve a web client HttpEndpoint.getWebClient(discovery, svc -> svc.getName().equals("vertx-greeting"), ar -> { if (ar.failed()) { System.out.println("D'oh the service is not available"); } else { client = ar.result(); vertx.createHttpServer().requestHandler(router).listen(8080); } })); }
System.out.println("\"" + record1.getName() + "\" successfully published!"); Record publishedRecord = ar.result(); } else { System.out.println("\"" + record2.getName() + "\" successfully published!"); Record publishedRecord = ar.result(); } else { System.out.println("\"" + record1.getName() + "\" successfully unpublished"); } else { discovery.getRecord(r -> r.getName().equals(record2.getName()), ar -> { if (ar.succeeded()) { if (ar.result() != null) { System.out.println("Consuming \"" + record2.getName() + "\"");
private List<Record> findRecords() { final ConcurrentMap<String, Record> address = ORIGIN.getRegistryData(); final String name = this.getValue("name"); // Find service records return address.values().stream() .filter(item -> name.equals(item.getName())) .collect(Collectors.toList()); } }
private List<Record> findRecords() { final ConcurrentMap<String, Record> address = ORIGIN.getRegistryData(); final String name = this.getValue("name"); // Find service records return address.values().stream() .filter(item -> name.equals(item.getName())) .collect(Collectors.toList()); } }
private boolean thisEquals(SchemaRegistration test) { // Record does not yet override equals() (https://github.com/vert-x3/vertx-service-discovery/pull/35) return (schemaEquals(schemaDefinition, test.schemaDefinition)) && fieldEquals(serviceConsumer, test.serviceConsumer) && (record == null ? test.record == null : fieldEquals(record.getName(), test.record.getName())); }
private void assertThatListContains(List<Record> records, String name) { for (Record rec : records) { if (rec.getName().equalsIgnoreCase(name)) { return; } } throw new AssertionError("Cannot find service '" + name + "' in the list"); }
private void assertThatListDoesNotContain(List<Record> records, String name) { for (Record rec : records) { if (rec.getName().equalsIgnoreCase(name)) { throw new AssertionError("Found service '" + name + "' in the list"); } } }
private void assertThatListContains(List<Record> records, String name) { for (Record rec : records) { if (rec.getName().equalsIgnoreCase(name)) { return; } } throw new AssertionError("Cannot find service '" + name + "' in the list"); }
private void assertThatListDoesNotContain(List<Record> records, String name) { for (Record rec : records) { if (rec.getName().equalsIgnoreCase(name)) { throw new AssertionError("Found service '" + name + "' in the list"); } } }
private Single<Void> publish(Record record) { return discovery.rxPublish(record) .doOnSuccess(rec -> { registeredRecords.add(record); logger.info("Service <" + rec.getName() + "> published"); }) .map(r -> null); }
private void successLog(final Record record) { final String key = this.getID(record); final String id = record.getRegistration(); final String endpoint = MessageFormat.format("http://{0}:{1}{2}", record.getLocation().getString(Origin.HOST), String.valueOf(record.getLocation().getInteger(Origin.PORT)), record.getMetadata().getString(Origin.PATH)); LOGGER.debug(Info.REG_SUCCESS, record.getStatus(), record.getType(), record.getName(), endpoint, key, id); }
private void successLog(final Record record) { final String key = this.getID(record); final String id = record.getRegistration(); final String endpoint = MessageFormat.format("http://{0}:{1}{2}", record.getLocation().getString(Origin.HOST), String.valueOf(record.getLocation().getInteger(Origin.PORT)), record.getMetadata().getString(Origin.PATH)); LOGGER.debug(Info.REG_SUCCESS, record.getStatus(), record.getType(), record.getName(), endpoint, key, id); }
@Override public boolean erasing(final Record record) { final String host = record.getLocation().getString(HOST); final Integer port = record.getLocation().getInteger(PORT); final String name = record.getName(); if (!Ut.netOk(host, port)) { this.registry.erasingStatus(name, host, port, this.getPath()); } return true; }
public static void in(final IpcData data, final Record record) { if (null != record) { data.setHost(record.getLocation().getString("host")); data.setPort(record.getLocation().getInteger("port")); data.setName(record.getName()); } }
public static void in(final IpcData data, final Record record) { if (null != record) { data.setHost(record.getLocation().getString("host")); data.setPort(record.getLocation().getInteger("port")); data.setName(record.getName()); } }
@Override public boolean erasing(final Record record) { final String host = record.getLocation().getString(HOST); final Integer port = record.getLocation().getInteger(PORT); final String name = record.getName(); if (!Ut.netOk(host, port)) { this.registry.erasingStatus(name, host, port, this.getPath()); } return true; }
private void assertRedis(Record record) { assertThat(record.getName()).isEqualTo("DISCOVERY_REDIS"); assertThat(record.getLocation().getString("endpoint")).isEqualToIgnoringCase("tcp://172.17.0.2:6379"); assertThat(record.getMetadata().getString("PORT_6379_TCP_PORT")).isEqualToIgnoringCase("6379"); }
private void fetchRecords(AtomicBoolean marker, TestContext tc) { sd.getRecords(x -> true, l -> { if (l.succeeded() && l.result().size() == 1) { tc.assertEquals("foo-service", l.result().get(0).getName()); marker.set(true); } else { vertx.setTimer(100, x -> fetchRecords(marker, tc)); } }); }
private void fetchRecords(AtomicBoolean marker, TestContext tc) { sd.getRecords(x -> true, l -> { if (l.succeeded() && l.result().size() == 1) { tc.assertEquals("foo-service", l.result().get(0).getName()); marker.set(true); } else { vertx.setTimer(100, x -> fetchRecords(marker, tc)); } }); }
private void assertRedis(Record record) { assertThat(record.getName()).isEqualTo("DISCOVERY_REDIS"); assertThat(record.getLocation().getString("endpoint")).isEqualToIgnoringCase("tcp://172.17.0.2:6379"); assertThat(record.getMetadata().getString("PORT_6379_TCP_PORT")).isEqualToIgnoringCase("6379"); }