import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.IAtomicLong;
import com.hazelcast.core.ICondition;
import com.hazelcast.core.ILock;
public class WaitingMember {
public static void main(String[] args) throws Exception {
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
IAtomicLong counter = hz.getAtomicLong("counter");
ILock lock = hz.getLock("lock");
ICondition isOneCondition = lock.newCondition("isOne");
lock.lock();
try {
while (counter.get() != 1) {
System.out.println("Waiting");
isOneCondition.await();
}
} finally {
lock.unlock();
}
System.out.println("Wait finished, counter: " + counter.get());
}
}