gpt4 book ai didi

com.twitter.distributedlog.impl.ZKNamespaceWatcher类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 11:08:58 26 4
gpt4 key购买 nike

本文整理了Java中com.twitter.distributedlog.impl.ZKNamespaceWatcher类的一些代码示例,展示了ZKNamespaceWatcher类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZKNamespaceWatcher类的具体详情如下:
包路径:com.twitter.distributedlog.impl.ZKNamespaceWatcher
类名称:ZKNamespaceWatcher

ZKNamespaceWatcher介绍

[英]Watcher on watching a given namespace
[中]监视给定名称空间的监视程序

代码示例

代码示例来源:origin: twitter/distributedlog

SubNamespace(URI uri) {
  this.uri = uri;
  this.watcher = new ZKNamespaceWatcher(conf, uri, zkc, scheduler);
  this.watcher.registerListener(this);
}

代码示例来源:origin: twitter/distributedlog

@Override
public void run() {
  try {
    doWatchNamespaceChanges();
  } catch (Exception e) {
    logger.error("Encountered unknown exception on watching namespace {} ", uri, e);
  }
}

代码示例来源:origin: twitter/distributedlog

void watch() {
  this.watcher.watchNamespaceChanges();
}

代码示例来源:origin: twitter/distributedlog

@Override
  public void registerNamespaceListener(NamespaceListener listener) {
    this.nsWatcher.registerListener(listener);
  }
}

代码示例来源:origin: twitter/distributedlog

public ZKLogMetadataStore(
    DistributedLogConfiguration conf,
    URI namespace,
    ZooKeeperClient zkc,
    OrderedScheduler scheduler) {
  this.namespace = namespace;
  this.nsOptional = Optional.of(this.namespace);
  this.zkc = zkc;
  this.nsWatcher = new ZKNamespaceWatcher(conf, namespace, zkc, scheduler);
}

代码示例来源:origin: twitter/distributedlog

@Override
  public void process(WatchedEvent event) {
    if (event.getType() == Event.EventType.None) {
      if (event.getState() == Event.KeeperState.Expired) {
        scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
      }
      return;
    }
    if (event.getType() == Event.EventType.NodeChildrenChanged) {
      // watch namespace changes again.
      doWatchNamespaceChanges();
    }
  }
}

代码示例来源:origin: twitter/distributedlog

private void doWatchNamespaceChanges() {
  try {
    zkc.get().getChildren(uri.getPath(), this, this, null);
  } catch (ZooKeeperClient.ZooKeeperConnectionException e) {
    scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
  } catch (InterruptedException e) {
    logger.warn("Interrupted on watching namespace changes for {} : ", uri, e);
    scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
  }
}

代码示例来源:origin: twitter/distributedlog

@Override
public void processResult(int rc, String path, Object ctx, List<String> children, Stat stat) {
  if (KeeperException.Code.OK.intValue() == rc) {
    logger.info("Received updated logs under {} : {}", uri, children);
    List<String> result = new ArrayList<String>(children.size());
    for (String s : children) {
      if (isReservedStreamName(s)) {
        continue;
      }
      result.add(s);
    }
    for (NamespaceListener listener : listeners) {
      listener.onStreamsChanged(result.iterator());
    }
  } else {
    scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
  }
}

代码示例来源:origin: twitter/distributedlog

DistributedLogConfiguration conf = new DistributedLogConfiguration();
conf.addConfiguration(baseConf);
ZKNamespaceWatcher watcher = new ZKNamespaceWatcher(conf, uri, zkc, scheduler);
final CountDownLatch[] latches = new CountDownLatch[10];
for (int i = 0; i < 10; i++) {
watcher.registerListener(new NamespaceListener() {
  @Override
  public void onStreamsChanged(Iterator<String> streams) {

代码示例来源:origin: twitter/distributedlog

public void watchNamespaceChanges() {
  if (!namespaceWatcherSet.compareAndSet(false, true)) {
    return;
  }
  doWatchNamespaceChanges();
}

代码示例来源:origin: twitter/distributedlog

DistributedLogConfiguration conf = new DistributedLogConfiguration();
conf.addConfiguration(baseConf);
ZKNamespaceWatcher watcher = new ZKNamespaceWatcher(conf, uri, zkc, scheduler);
final CountDownLatch[] latches = new CountDownLatch[10];
for (int i = 0; i < 10; i++) {
watcher.registerListener(new NamespaceListener() {
  @Override
  public void onStreamsChanged(Iterator<String> streams) {

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com