Я использую клиент Zookeeper непосредственно в проекте. Но в некоторых записях я получил исключение ConnectionLossException
или SessionExpiredException
.
Как лучше всего обработать это исключение и сохранить все временные узлы, которые я создал с этим клиентом:
- Попробуйте еще раз, пока не заработает
- Подождите, пока клиент снова подключится, и попробуйте снова
- Дождаться события SyncConnected и повторить попытку
При всех этих подходах ни один не может потерпеть неудачу, поскольку метод вызывающей стороны ожидает, что действие будет выполнено.
В моей предыдущей реализации я закрывал клиент и создавал новый. Но этот подход удаляет все мои временные узлы, которые я создал.