Hazelcast文档显示您可以使用分布式Hazelcast作为客户端,并提到如果持有该锁的成员断开连接,则该锁将被释放。但是,如果我使用锁作为客户端,这将不算为“成员”--如果客户端断开连接,锁仍然安全释放吗?
发布于 2013-11-05 05:43:06
客户端锁将自动释放。尝试下面的程序,你就会看到自己。
public class Main {
public static void main(String[] args) throws InterruptedException {
HazelcastInstance hz1 = Hazelcast.newHazelcastInstance();
HazelcastInstance client = HazelcastClient.newHazelcastClient();
client.getLock("clientLock").lock();
System.out.println("is locked:" + hz1.getLock("clientLock").isLocked());
client.shutdown();
System.out.println("Client is shutdown");
for(;;){
boolean isLocked = hz1.getLock("clientLock").isLocked();
if(!isLocked){
System.out.println("Client lock is released");
return;
}
System.out.println("is locked:"+ isLocked);
Thread.sleep(1000);
}
}
}https://stackoverflow.com/questions/19766873
复制相似问题