Может ли клиент ZooKeeper смотреть znode без setData или getData?

Сейчас я разрабатываю клиент ZooKeeper для наблюдения за изменением znode. Znode будет время от времени обновляться и создавать события NodeDeleted и NodeCreated. Мой клиент хочет знать только значение znode после NodeCreated. Но проблема в том, что я также получу событие NodeDeleted, и часы будут только один раз. Так что я должен вызвать exists(), setData() или getData(), чтобы вернуть часы на этот znode.

На самом деле меня не волнуют данные или существует ли znode. Есть ли способ просто установить часы на указанном znode? Или это должно быть особенностью ZooKeeper?


person tobe    schedule 27.12.2013    source источник


Ответы (1)


Вы можете установить часы, но после каждого события вам нужно установить новые часы. Это означает, что вы можете пропустить события между моментом истечения срока действия ваших первоначальных часов и установкой следующих часов. Чтобы упростить использование, вам следует воспользоваться Apache Curator. В вашем случае будет полезен рецепт кэша путей.

person devth    schedule 10.02.2014
comment
Спасибо. Теперь установка новых часов меня устраивает. - person tobe; 10.03.2014