Search in sources :

Example 11 with IQueue

use of com.hazelcast.core.IQueue in project hazelcast by hazelcast.

the class ClientTxnQueueTest method testQueueSizeAfterTxnOfferPoll.

@Test
public void testQueueSizeAfterTxnOfferPoll() {
    final String item = "offered";
    final String queueName = randomString();
    final IQueue queue = client.getQueue(queueName);
    final TransactionContext context = client.newTransactionContext();
    context.beginTransaction();
    TransactionalQueue txnQueue = context.getQueue(queueName);
    txnQueue.offer(item);
    txnQueue.poll();
    context.commitTransaction();
    assertEquals(0, queue.size());
}
Also used : TransactionalQueue(com.hazelcast.core.TransactionalQueue) IQueue(com.hazelcast.core.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 12 with IQueue

use of com.hazelcast.core.IQueue in project hazelcast by hazelcast.

the class ClientTxnQueueTest method testTransactionalQueueSize.

@Test
public void testTransactionalQueueSize() {
    final String item = "offered";
    final String name = randomString();
    final IQueue queue = client.getQueue(name);
    queue.offer(item);
    final TransactionContext context = client.newTransactionContext();
    context.beginTransaction();
    TransactionalQueue<String> txnQueue = context.getQueue(name);
    txnQueue.offer(item);
    assertEquals(2, txnQueue.size());
    context.rollbackTransaction();
}
Also used : IQueue(com.hazelcast.core.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 13 with IQueue

use of com.hazelcast.core.IQueue in project hazelcast by hazelcast.

the class ClientTxnQueueTest method testTransactionalQueueGetsOfferedItems_whenBlockedOnPoll.

@Test
public void testTransactionalQueueGetsOfferedItems_whenBlockedOnPoll() throws InterruptedException {
    final String item = "offered1";
    final String queueName = randomString();
    final IQueue queue1 = client.getQueue(queueName);
    final CountDownLatch justBeforeBlocked = new CountDownLatch(1);
    new Thread() {

        public void run() {
            try {
                justBeforeBlocked.await();
                sleepSeconds(1);
                queue1.offer(item);
            } catch (InterruptedException e) {
                fail("failed" + e);
            }
        }
    }.start();
    final TransactionContext context = client.newTransactionContext();
    context.beginTransaction();
    TransactionalQueue txnQueue1 = context.getQueue(queueName);
    justBeforeBlocked.countDown();
    Object result = txnQueue1.poll(5, TimeUnit.SECONDS);
    assertEquals("TransactionalQueue while blocked in pol should get item offered from client queue", item, result);
    context.commitTransaction();
}
Also used : TransactionalQueue(com.hazelcast.core.TransactionalQueue) IQueue(com.hazelcast.core.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) CountDownLatch(java.util.concurrent.CountDownLatch) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 14 with IQueue

use of com.hazelcast.core.IQueue in project hazelcast by hazelcast.

the class ClientTxnQueueTest method testTransactionalPeek.

@Test
public void testTransactionalPeek() {
    final String item = "offered";
    final String queunName = randomString();
    final IQueue queue = client.getQueue(queunName);
    final TransactionContext context = client.newTransactionContext();
    context.beginTransaction();
    TransactionalQueue txnQueue = context.getQueue(queunName);
    txnQueue.offer(item);
    assertEquals(item, txnQueue.peek());
    assertEquals(item, txnQueue.peek());
    context.commitTransaction();
}
Also used : TransactionalQueue(com.hazelcast.core.TransactionalQueue) IQueue(com.hazelcast.core.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 15 with IQueue

use of com.hazelcast.core.IQueue in project hazelcast by hazelcast.

the class ClientQueueTest method testTake_whenInterruptedWhileBlocking.

@Test(expected = InterruptedException.class)
public void testTake_whenInterruptedWhileBlocking() throws InterruptedException {
    IQueue queue = client.getQueue(randomString());
    interruptCurrentThread(2000);
    queue.take();
}
Also used : IQueue(com.hazelcast.core.IQueue) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Aggregations

IQueue (com.hazelcast.core.IQueue)17 ParallelTest (com.hazelcast.test.annotation.ParallelTest)15 QuickTest (com.hazelcast.test.annotation.QuickTest)15 Test (org.junit.Test)15 TransactionContext (com.hazelcast.transaction.TransactionContext)8 HazelcastInstance (com.hazelcast.core.HazelcastInstance)6 HazelcastTestSupport.randomString (com.hazelcast.test.HazelcastTestSupport.randomString)6 TransactionalQueue (com.hazelcast.core.TransactionalQueue)4 HazelcastInstanceNotActiveException (com.hazelcast.core.HazelcastInstanceNotActiveException)2 TransactionException (com.hazelcast.transaction.TransactionException)2 TransactionNotActiveException (com.hazelcast.transaction.TransactionNotActiveException)2 ExecutionException (java.util.concurrent.ExecutionException)2 QueueService (com.hazelcast.collection.impl.queue.QueueService)1 IMap (com.hazelcast.core.IMap)1 ExpectedRuntimeException (com.hazelcast.test.ExpectedRuntimeException)1 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)1 NightlyTest (com.hazelcast.test.annotation.NightlyTest)1 TransactionOptions (com.hazelcast.transaction.TransactionOptions)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1