Очистка для замков, созданных с помощью apache куратора - PullRequest
0 голосов
/ 07 апреля 2020

Я новичок в Apache Куратор и хочу подтвердить несколько вещей, связанных с распределенной блокировкой, используя Apache Куратор:

  1. Я предоставляю путь блокировки как "lock / unique_id" при создании экземпляра InterProcessMutex. InterProcessMutex dMutex = new InterProcessMutex(curatorClient, "lock/<id>"); Поскольку будет создано несколько блокировок на основе значения «id», как я могу гарантировать, что старые блокировки будут удалены. Это обработано куратором? Если да, через сколько времени будет удалена эта блокировка?

  2. Если мой экземпляр JVM будет уничтожен (который изначально создал объект InterProcessMutex), автоматически ли он удалит соответствующую блокировку?

1 Ответ

1 голос
/ 07 апреля 2020

Если вы используете Куратор с ZooKeeper 3.5+, то да, «родительские» узлы рецептов Куратора создаются как ZNodes-контейнеры (см. http://zookeeper.apache.org/doc/r3.5.7/zookeeperProgrammers.html#Container + Узлы ) и автоматически удаляются через период, когда у них нет дочерних ZNodes.

...