キュレーターを使用して Zookeeper ノードで getChildren() を呼び出す場合、ロックを表す子ノードを無視する方法はありますか?
特定の 1 つのノードのデータを使用して、すべての子を読み取りたいと考えています。したがって、最初に getChildren() を呼び出し、返された List を繰り返し処理し、そのような子ごとに getData() を呼び出します。子が途中で変更されるのを避けるために、何よりも InterProcessMutex が必要です。残念ながら、子のリストにはこのミューテックスも含まれています。
InterProcessMutex mutex = new InterProcessMutex(client, parentNodePath);
mutex.acquire();
try {
List<String> children = client.getChildren().forPath(parentNodePath);
for (String child : children) {
// do something
// ignore the lock-node
}
} finally {
mutex.release();
}
それを行うためのよりスマートな方法はありますか?それとも、ロックノードを無視しますか?