我使用this curator recipe来同步访问共享状态b / w多个客户端。问题是如果进程在持有锁的情况下死亡,则客户端将失败:
IllegalMonitorStateException You do not own the lock: /classifier-job-lock
org.apache.curator.framework.recipes.locks.InterProcessMutex.release (InterProcessMutex.java:140)
这种情况下最佳的行动计划是什么?
答案 0 :(得分:0)
您正在使用InterProcessMutex
。这与JDK锁相似,因为获取锁的同一线程必须是释放锁的线程。注意:应该改进这个类的文档。
相反,请尝试使用没有此限制的InterProcessSemaphoreMutex
。