use of com.hazelcast.core.ILock in project hazelcast by hazelcast.
the class ClientLockTest method testTryLockwithZeroTTLWithExistingLock.
@Test
public void testTryLockwithZeroTTLWithExistingLock() throws Exception {
factory.newHazelcastInstance();
HazelcastInstance hz = factory.newHazelcastClient();
final ILock lock = hz.getLock(randomName());
lock.lock();
final CountDownLatch latch = new CountDownLatch(1);
new Thread() {
public void run() {
try {
if (!lock.tryLock(0, TimeUnit.SECONDS)) {
latch.countDown();
}
} catch (InterruptedException e) {
}
}
}.start();
assertOpenEventually(latch);
lock.forceUnlock();
}
use of com.hazelcast.core.ILock in project hazelcast by hazelcast.
the class ClientLockTest method testLockTtl.
@Test
public void testLockTtl() throws Exception {
factory.newHazelcastInstance();
HazelcastInstance hz = factory.newHazelcastClient();
final ILock lock = hz.getLock(randomName());
lock.lock(3, TimeUnit.SECONDS);
final CountDownLatch latch = new CountDownLatch(2);
new Thread() {
public void run() {
if (!lock.tryLock()) {
latch.countDown();
}
try {
if (lock.tryLock(5, TimeUnit.SECONDS)) {
latch.countDown();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
assertTrue(latch.await(10, TimeUnit.SECONDS));
lock.forceUnlock();
}
use of com.hazelcast.core.ILock in project hazelcast by hazelcast.
the class ClientLockTest method testTryLockwithZeroTTL.
@Test
public void testTryLockwithZeroTTL() throws Exception {
factory.newHazelcastInstance();
HazelcastInstance hz = factory.newHazelcastClient();
final ILock lock = hz.getLock(randomName());
boolean lockWithZeroTTL = lock.tryLock(0, TimeUnit.SECONDS);
assertTrue(lockWithZeroTTL);
}
use of com.hazelcast.core.ILock in project hazelcast by hazelcast.
the class ClientLockTest method testForceUnlock.
@Test
public void testForceUnlock() throws Exception {
factory.newHazelcastInstance();
HazelcastInstance hz = factory.newHazelcastClient();
final ILock lock = hz.getLock(randomName());
lock.lock();
final CountDownLatch latch = new CountDownLatch(1);
new Thread() {
public void run() {
lock.forceUnlock();
latch.countDown();
}
}.start();
assertTrue(latch.await(100, TimeUnit.SECONDS));
assertFalse(lock.isLocked());
}
use of com.hazelcast.core.ILock in project hazelcast by hazelcast.
the class ClientLockTest method testLock.
@Test
public void testLock() throws Exception {
factory.newHazelcastInstance();
HazelcastInstance hz = factory.newHazelcastClient();
final ILock lock = hz.getLock(randomName());
lock.lock();
final CountDownLatch latch = new CountDownLatch(1);
new Thread() {
public void run() {
if (!lock.tryLock()) {
latch.countDown();
}
}
}.start();
assertTrue(latch.await(5, TimeUnit.SECONDS));
lock.forceUnlock();
}
Aggregations