/** * Watch for changes to services under given path. * @param path to check for changes. */ void addWatcher(String path) { ZKOperations.watchChildren(zkClient, path, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { resourceReport.setServices(nodeChildren.getChildren()); } }); }
@Override protected void startUp() throws Exception { cancellable = ZKOperations.watchChildren(zkClient, leaderElectionPath, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { childrenUpdated(nodeChildren, participants, readyFuture); } }); }
@Override protected void startUp() throws Exception { cancellable = ZKOperations.watchChildren(zkClient, leaderElectionPath, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { childrenUpdated(nodeChildren, participants, readyFuture); } }); }
/** * Watch for changes to services under given path. * @param path to check for changes. */ void addWatcher(String path) { ZKOperations.watchChildren(zkClient, path, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { resourceReport.setServices(nodeChildren.getChildren()); } }); }
private void setExternalChangeWatcher() throws ExecutionException, InterruptedException { ZKOperations.watchChildren(zkClient, "", new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { List<String> nodes = nodeChildren.getChildren(); List<OperationFuture<NodeData>> dataFutures = Lists.newArrayList(); for (String node : nodes) { dataFutures.add(zkClient.getData(getNodePath(node))); } final ListenableFuture<List<NodeData>> fetchFuture = Futures.successfulAsList(dataFutures); fetchFuture.addListener(new Runnable() { @Override public void run() { ImmutableList.Builder<T> builder = ImmutableList.builder(); // fetchFuture is set by this time List<NodeData> nodesData = Futures.getUnchecked(fetchFuture); for (NodeData nodeData : nodesData) { builder.add(serializer.deserialize(nodeData.getData())); } currentView.set(builder.build()); } }, Threads.SAME_THREAD_EXECUTOR); } }); }
private void setExternalChangeWatcher() throws ExecutionException, InterruptedException { ZKOperations.watchChildren(zkClient, "", new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { List<String> nodes = nodeChildren.getChildren(); final Map<String, ListenableFuture<NodeData>> nodeAndDataFutures = Maps.newHashMap(); List<OperationFuture<NodeData>> dataFutures = Lists.newArrayList(); for (String node : nodes) { OperationFuture<NodeData> dataFuture = zkClient.getData(getNodePath(node)); dataFutures.add(dataFuture); nodeAndDataFutures.put(node, dataFuture); } final ListenableFuture<List<NodeData>> fetchFuture = Futures.successfulAsList(dataFutures); fetchFuture.addListener(new Runnable() { @Override public void run() { ImmutableMap.Builder<String, T> builder = ImmutableMap.builder(); for (Map.Entry<String, ListenableFuture<NodeData>> nodeAndData : nodeAndDataFutures.entrySet()) { T value = serializer.deserialize(Futures.getUnchecked(nodeAndData.getValue()).getData()); builder.put(nodeAndData.getKey(), value); } currentView.set(builder.build()); updateWaitingForElements(); } }, Threads.SAME_THREAD_EXECUTOR); } }); }
private Map<String, T> reloadAll() { final Map<String, T> loaded = Maps.newConcurrentMap(); ZKOperations.watchChildren(zookeeper, parentZnode, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) {
final Cancellable cancellable = ZKOperations.watchChildren(zkClientService, "/", new ZKOperations.ChildrenCallback() { @Override
final Cancellable cancellable = ZKOperations.watchChildren(zkClientService, "/", new ZKOperations.ChildrenCallback() { @Override
ZKOperations.watchChildren(zkClientService, instancePath, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) {
ZKOperations.watchChildren(zkClientService, instancePath, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) {
Cancellable cancellable = ZKOperations.watchChildren(zkClient, pathBase, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) {
Cancellable cancellable = ZKOperations.watchChildren(zkClient, pathBase, new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) {
@Override protected void startUp() throws Exception { Futures.getUnchecked(ZKClientExt.ensureExists(zkClient, queueType.getPath())); refreshQueues(Futures.getUnchecked(zkClient.getChildren(queueType.getPath()))); ZKOperations.watchChildren(zkClient, queueType.getPath(), new ZKOperations.ChildrenCallback() { @Override public void updated(NodeChildren nodeChildren) { refreshQueues(nodeChildren); } }); }