Search in sources :

Example 6 with TransactionalQueue

use of com.hazelcast.transaction.TransactionalQueue in project hazelcast by hazelcast.

the class TransactionalQueueTakeMessageTask method innerCall.

@Override
protected Object innerCall() throws Exception {
    final TransactionContext context = endpoint.getTransactionContext(parameters.txnId);
    final TransactionalQueue queue = context.getQueue(parameters.name);
    Object item = queue.take();
    return serializationService.toData(item);
}
Also used : TransactionalQueue(com.hazelcast.transaction.TransactionalQueue) TransactionContext(com.hazelcast.transaction.TransactionContext)

Example 7 with TransactionalQueue

use of com.hazelcast.transaction.TransactionalQueue in project hazelcast by hazelcast.

the class TransactionalQueueSizeMessageTask method innerCall.

@Override
protected Object innerCall() throws Exception {
    final TransactionContext context = endpoint.getTransactionContext(parameters.txnId);
    final TransactionalQueue queue = context.getQueue(parameters.name);
    return queue.size();
}
Also used : TransactionalQueue(com.hazelcast.transaction.TransactionalQueue) TransactionContext(com.hazelcast.transaction.TransactionContext)

Example 8 with TransactionalQueue

use of com.hazelcast.transaction.TransactionalQueue 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.transaction.TransactionalQueue) IQueue(com.hazelcast.collection.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) CountDownLatch(java.util.concurrent.CountDownLatch) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 9 with TransactionalQueue

use of com.hazelcast.transaction.TransactionalQueue 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.transaction.TransactionalQueue) IQueue(com.hazelcast.collection.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 10 with TransactionalQueue

use of com.hazelcast.transaction.TransactionalQueue in project hazelcast by hazelcast.

the class ClientTxnQueueTest method testTransactionalOfferPoll.

@Test
public void testTransactionalOfferPoll() {
    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);
    assertEquals(item, txnQueue.poll());
    context.commitTransaction();
}
Also used : TransactionalQueue(com.hazelcast.transaction.TransactionalQueue) IQueue(com.hazelcast.collection.IQueue) TransactionContext(com.hazelcast.transaction.TransactionContext) HazelcastTestSupport.randomString(com.hazelcast.test.HazelcastTestSupport.randomString) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

TransactionContext (com.hazelcast.transaction.TransactionContext)13 TransactionalQueue (com.hazelcast.transaction.TransactionalQueue)13 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)8 QuickTest (com.hazelcast.test.annotation.QuickTest)8 Test (org.junit.Test)8 IQueue (com.hazelcast.collection.IQueue)5 HazelcastTestSupport.randomString (com.hazelcast.test.HazelcastTestSupport.randomString)4 TransactionException (com.hazelcast.transaction.TransactionException)4 CountDownLatch (java.util.concurrent.CountDownLatch)4 MembershipAdapter (com.hazelcast.cluster.MembershipAdapter)2 MembershipEvent (com.hazelcast.cluster.MembershipEvent)2 Config (com.hazelcast.config.Config)2 HazelcastInstance (com.hazelcast.core.HazelcastInstance)2 ItemEvent (com.hazelcast.collection.ItemEvent)1 ItemListener (com.hazelcast.collection.ItemListener)1 QueueService (com.hazelcast.collection.impl.queue.QueueService)1 VersionedObject (com.hazelcast.collection.impl.queue.model.VersionedObject)1 VersionedObjectComparator (com.hazelcast.collection.impl.queue.model.VersionedObjectComparator)1 HazelcastInstanceNotActiveException (com.hazelcast.core.HazelcastInstanceNotActiveException)1 Accessors.getNode (com.hazelcast.test.Accessors.getNode)1