private CancellableServiceDiscovered(ServiceDiscovered serviceDiscovered, ServiceDiscovered.ChangeListener listener, Executor executor) { this.cancellable = serviceDiscovered.watchChanges(listener, executor); this.serviceDiscovered = serviceDiscovered; }
@Override public Cancellable watchChanges(ChangeListener listener, Executor executor) { return serviceDiscovered.watchChanges(listener, executor); }
private CancellableServiceDiscovered(ServiceDiscovered serviceDiscovered, ServiceDiscovered.ChangeListener listener, Executor executor) { this.cancellable = serviceDiscovered.watchChanges(listener, executor); this.serviceDiscovered = serviceDiscovered; }
@Override public Cancellable watchChanges(ChangeListener listener, Executor executor) { return serviceDiscovered.watchChanges(listener, executor); }
@Override public Cancellable watchChanges(ChangeListener changeListener, Executor executor) { return delegate.watchChanges(changeListener, executor); }
@Override public final Discoverable pick(long timeout, TimeUnit timeoutUnit) { Discoverable discoverable = pick(); if (discoverable != null) { return discoverable; } final SettableFuture<Discoverable> future = SettableFuture.create(); Cancellable cancellable = serviceDiscoveredSupplier.get() .watchChanges(serviceDiscovered -> Optional.ofNullable(pick(serviceDiscovered)).ifPresent(future::set), Threads.SAME_THREAD_EXECUTOR); try { return future.get(timeout, timeoutUnit); } catch (Exception e) { return null; } finally { cancellable.cancel(); } }
private Discoverable getDiscoverable(ServiceDiscovered serviceDiscovered, long timeout, TimeUnit unit) throws Exception { final SettableFuture<Discoverable> completion = SettableFuture.create(); serviceDiscovered.watchChanges(new ServiceDiscovered.ChangeListener() { @Override public void onChange(ServiceDiscovered serviceDiscovered) { Iterator<Discoverable> itor = serviceDiscovered.iterator(); if (itor.hasNext()) { completion.set(itor.next()); } } }, Threads.SAME_THREAD_EXECUTOR); return completion.get(timeout, unit); }
@Override protected void startUp() throws Exception { LOG.info("Starting DatasetService..."); typeService.startAndWait(); opExecutorClient.startAndWait(); httpService.start(); // setting watch for ops executor service that we need to be running to operate correctly ServiceDiscovered discover = discoveryServiceClient.discover(Constants.Service.DATASET_EXECUTOR); opExecutorDiscovered = SettableFuture.create(); opExecutorServiceWatch = discover.watchChanges( serviceDiscovered -> { if (!Iterables.isEmpty(serviceDiscovered)) { LOG.info("Discovered {} service", Constants.Service.DATASET_EXECUTOR); opExecutorDiscovered.set(serviceDiscovered); } }, MoreExecutors.sameThreadExecutor()); for (DatasetMetricsReporter metricsReporter : metricReporters) { metricsReporter.start(); } }
@Override protected void startUp() throws Exception { LOG.info("Starting DatasetService..."); typeService.startAndWait(); opExecutorClient.startAndWait(); httpService.start(); // setting watch for ops executor service that we need to be running to operate correctly ServiceDiscovered discover = discoveryServiceClient.discover(Constants.Service.DATASET_EXECUTOR); opExecutorDiscovered = SettableFuture.create(); opExecutorServiceWatch = discover.watchChanges( serviceDiscovered -> { if (!Iterables.isEmpty(serviceDiscovered)) { LOG.info("Discovered {} service", Constants.Service.DATASET_EXECUTOR); opExecutorDiscovered.set(serviceDiscovered); } }, MoreExecutors.sameThreadExecutor()); for (DatasetMetricsReporter metricsReporter : metricReporters) { metricsReporter.start(); } }
@Override public Discoverable pick(long timeout, TimeUnit timeoutUnit) { Discoverable discoverable = pick(); if (discoverable != null) { return discoverable; } final SettableFuture<Discoverable> future = SettableFuture.create(); Cancellable cancellable = serviceDiscovered.watchChanges(new ServiceDiscovered.ChangeListener() { @Override public void onChange(ServiceDiscovered serviceDiscovered) { // The serviceDiscovered provided is the same as the one in the field, hence ok to just call pick(). Discoverable discoverable = pick(); if (discoverable != null) { future.set(discoverable); } } }, Threads.SAME_THREAD_EXECUTOR); try { return future.get(timeout, timeoutUnit); } catch (Exception e) { return null; } finally { cancellable.cancel(); } } }
Cancellable cancellable = serviceDiscovered.watchChanges(new ServiceDiscovered.ChangeListener() { @Override public void onChange(ServiceDiscovered serviceDiscovered) {
final BlockingQueue<Discoverable> discoverables = new LinkedBlockingQueue<>(); ServiceDiscovered serviceDiscovered = getContext().discover(getContext().getApplicationArguments()[0]); serviceDiscovered.watchChanges(new ServiceDiscovered.ChangeListener() { @Override public void onChange(ServiceDiscovered serviceDiscovered) {
controller.discoverService("log").watchChanges(new ServiceDiscovered.ChangeListener() { @Override public void onChange(ServiceDiscovered serviceDiscovered) {