本文整理汇总了Java中com.alibaba.dubbo.remoting.zookeeper.ChildListener类的典型用法代码示例。如果您正苦于以下问题:Java ChildListener类的具体用法?Java ChildListener怎么用?Java ChildListener使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ChildListener类属于com.alibaba.dubbo.remoting.zookeeper包,在下文中一共展示了ChildListener类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createTargetChildListener
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
public IZkChildListener createTargetChildListener(String path, final ChildListener listener) {
return new IZkChildListener() {
public void handleChildChange(String parentPath, List<String> currentChilds)
throws Exception {
listener.childChanged(parentPath, currentChilds);
}
};
}
示例2: addChildListener
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
public List<String> addChildListener(String path, final ChildListener listener) {
ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
if (listeners == null) {
childListeners.putIfAbsent(path, new ConcurrentHashMap<ChildListener, TargetChildListener>());
listeners = childListeners.get(path);
}
TargetChildListener targetListener = listeners.get(listener);
if (targetListener == null) {
listeners.putIfAbsent(listener, createTargetChildListener(path, listener));
targetListener = listeners.get(listener);
}
return addTargetChildListener(path, targetListener);
}
示例3: removeChildListener
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
public void removeChildListener(String path, ChildListener listener) {
ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
if (listeners != null) {
TargetChildListener targetListener = listeners.remove(listener);
if (targetListener != null) {
removeTargetChildListener(path, targetListener);
}
}
}
示例4: doUnsubscribe
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
protected void doUnsubscribe(URL url, NotifyListener listener) {
ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
if (listeners != null) {
ChildListener zkListener = listeners.get(listener);
if (zkListener != null) {
zkClient.removeChildListener(toUrlPath(url), zkListener);
}
}
}
示例5: addChildListener
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
public synchronized List<String> addChildListener(String path, final ChildListener listener) {
ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
if (listeners == null) {
childListeners.putIfAbsent(path, new ConcurrentHashMap<>());
listeners = childListeners.get(path);
}
TargetChildListener targetListener = listeners.get(listener);
if (targetListener == null) {
listeners.putIfAbsent(listener, createTargetChildListener(path, listener));
targetListener = listeners.get(listener);
}
return addTargetChildListener(path, targetListener);
}
示例6: removeChildListener
import com.alibaba.dubbo.remoting.zookeeper.ChildListener; //导入依赖的package包/类
public synchronized void removeChildListener(String path, ChildListener listener) {
ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
if (listeners != null) {
TargetChildListener targetListener = listeners.remove(listener);
if (targetListener != null) {
removeTargetChildListener(path, targetListener);
}
if (listeners.isEmpty()) {
childListeners.remove(path);
}
}
}