Когда я вызываю getChildren() на узле Zookeeper с куратором, есть ли способ игнорировать дочерние узлы, представляющие блокировку?
Я хочу прочитать всех детей с их данными одного конкретного узла. Поэтому я сначала вызываю getChildren(), перебираю возвращенный список и вызываю 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();
}
Есть ли более разумный способ сделать это? Или просто игнорировать узел блокировки?