protected void removeTargetDataListener(String path, IZkDataListener listener) { zkClient.unsubscribeDataChanges(path, listener); }
protected void removeTargetDataListener(String path, IZkDataListener listener) { zkClient.unsubscribeDataChanges(path, listener); }
@Override public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
@Override protected void unsubscribeCommand(URL url, CommandListener commandListener) { try { clientLock.lock(); Map<CommandListener, IZkDataListener> dataChangeListeners = commandListeners.get(url); if (dataChangeListeners != null) { IZkDataListener zkDataListener = dataChangeListeners.get(commandListener); if (zkDataListener != null) { zkClient.unsubscribeDataChanges(ZkUtils.toCommandPath(url), zkDataListener); dataChangeListeners.remove(commandListener); } } } catch (Throwable e) { throw new MotanFrameworkException(String.format("Failed to unsubscribe command %s to zookeeper(%s), cause: %s", url, getUrl(), e.getMessage()), e); } finally { clientLock.unlock(); } }
public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
public void stop() { _zkClient.unsubscribeDataChanges(_fileName, this); }
public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
public void stop() { _zkClient.unsubscribeDataChanges(_fileName, this); }
public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
public void unsubscribeDataChanges(String path, IZkDataListener dataListener) { zkClient.unsubscribeDataChanges(path, dataListener); }
protected void removeTargetDataListener(String path, IZkDataListener listener) { zkClient.unsubscribeDataChanges(path, listener); }
@Override protected void unsubscribeCommand(URL url, CommandListener commandListener) { try { clientLock.lock(); Map<CommandListener, IZkDataListener> dataChangeListeners = commandListeners.get(url); if (dataChangeListeners != null) { IZkDataListener zkDataListener = dataChangeListeners.get(commandListener); if (zkDataListener != null) { zkClient.unsubscribeDataChanges(ZkUtils.toCommandPath(url), zkDataListener); dataChangeListeners.remove(commandListener); } } } catch (Throwable e) { throw new MotanFrameworkException(String.format("Failed to unsubscribe command %s to zookeeper(%s), cause: %s", url, getUrl(), e.getMessage()), e); } finally { clientLock.unlock(); } }
@Override public Zk unwatchData(String path) { workerPool().executeBlocking( future -> { try { IZkDataListener listener = dataWatches.remove(path); if (listener != null) { zookeeper.unsubscribeDataChanges(path, listener); } future.complete(); } catch (Throwable t) { future.fail(t); } }, log("unwatchData")); return this; }
@Override public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception { List<String> createChilds = new ArrayList<>(); Set<String> deleteChilds = new HashSet<>(parser.childs); for (String zkChild : currentChilds) { boolean exist = deleteChilds.remove(zkChild); if (!exist) { createChilds.add(zkChild); } } parser.childs = new HashSet<>(currentChilds); for (String create : createChilds) { ServerData d = parser.getZkNodeData(create); if (d == null) { continue; } parser.handle(RouteEvent.create(d.url, d.data)); zk.subscribeDataChanges(parentPath + "/" + create, nodeListener); } for (String delete : deleteChilds) { parser.handle(RouteEvent.delete(Host.create(delete))); zk.unsubscribeDataChanges(parentPath + "/" + delete, nodeListener); } }