private void createMasterClient(ConsulTestNode node) { AtomicReference<ConsulTestNode> usedNode = new AtomicReference<>(node); masterClient = ConsulClient.create(vertx, new ConsulClientOptions().setAclToken(MASTER_TOKEN).setDc(TEST_DC).setHost(LOCALHOST).setPort(usedNode.get().httpPort()).setSsl(false)); vertx.setPeriodic(5000, l -> { if ((usedNode.get() == null || !usedNode.get().isRunning()) && masterClient != null) { masterClient.close(); masterClient = null; } }); } }
@Override public Future<ConsulClientOptions> clientOptionsForNode(ConsulTestNode node, String rules) { Future<ConsulTestNode> usedNode = Future.future(); if (node == null || !node.isRunning()) { getServerNode().setHandler(usedNode); } else { usedNode.complete(node); } return usedNode.compose(n -> createToken(n, rules)).compose(token -> Future.succeededFuture(new ConsulClientOptions() .setAclToken(token) .setDc(TEST_DC) .setHost(LOCALHOST) .setPort(usedNode.result().httpPort()) .setSsl(false)) ); }
private static ConsulClientOptions config(String token, boolean secure) { return new ConsulClientOptions() .setAclToken(token) .setDc(ConsulCluster.dc().getName()) .setHost("localhost") .setPort(secure ? ConsulCluster.getDefaultAgent().getHttpsPort() : ConsulCluster.getDefaultAgent().getHttpPort()) .setSsl(secure); }