我正在使用this curator recipe同步对多个客户端共享状态的访问。问题是,如果进程在持有锁的同时死亡,则客户端将失败并显示以下信息:

IllegalMonitorStateException You do not own the lock: /classifier-job-lock
org.apache.curator.framework.recipes.locks.InterProcessMutex.release (InterProcessMutex.java:140)


在这种情况下最好的行动计划是什么?

最佳答案

您正在使用InterProcessMutex。行为类似于JDK锁,因为获取锁的同一线程必须是释放锁的线程。注意:此类的文档应加以改进。

而是尝试使用没有此限制的InterProcessSemaphoreMutex

09-30 21:17