Package org.jboss.test.messaging.core

Examples of org.jboss.test.messaging.core.SimpleReceiver


         // we test only recoverable channels now
         return;
      }

      // add an ACKING receiver to the channel
      SimpleReceiver r = new SimpleReceiver("AckingReceiver", SimpleReceiver.ACKING);
      assertTrue(queue.add(r));

      MessageReference ref = createReference(0, false, "payload");
      SimpleDeliveryObserver observer = new SimpleDeliveryObserver();

      Transaction tx = tr.createTransaction();

      // transacted send, non-reliable message, one message
      // for a transactional send, handle() return value is unspecified
      queue.handle(observer, ref, tx);

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      // no message at the receiver
      assertTrue(r.getMessages().isEmpty());

      tx.commit();

      assertTrue(queue.browse().isEmpty());

      List received = r.getMessages();
      assertEquals(1, received.size());
      Message sm = (Message)received.iterator().next();
      assertFalse(sm.isReliable());
      assertEquals(0, sm.getMessageID());
   }
View Full Code Here


         // we test only recoverable channels now
         return;
      }

      // add an ACKING receiver to the channel
      SimpleReceiver r = new SimpleReceiver("AckingReceiver", SimpleReceiver.ACKING);
      assertTrue(queue.add(r));

      SimpleDeliveryObserver observer = new SimpleDeliveryObserver();

      Transaction tx = tr.createTransaction();

      MessageReference[] refs = new MessageReference[NUMBER_OF_MESSAGES];
      for(int i = 0; i < NUMBER_OF_MESSAGES; i++)
      {
         refs[i] = createReference(i, false, "payload" + i);

         // transacted send, non-reliable message, multiple messages
         // for a transactional send, handle() return value is unspecified
         queue.handle(observer, refs[i], tx);
      }

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      // no message at the receiver
      assertTrue(r.getMessages().isEmpty());

      tx.commit();

      assertTrue(queue.browse().isEmpty());
      assertEqualSets(refs, r.getMessages());
   }
View Full Code Here

         // we test only recoverable channels now
         return;
      }

      // add an ACKING receiver to the channel
      SimpleReceiver r = new SimpleReceiver("AckingReceiver", SimpleReceiver.ACKING);
      assertTrue(queue.add(r));


      MessageReference ref = createReference(0, true, "payload");
      SimpleDeliveryObserver observer = new SimpleDeliveryObserver();

      Transaction tx = tr.createTransaction();

      // transacted send, reliable message, one message
      // for a transactional send, handle() return value is unspecified
      queue.handle(observer, ref, tx);

      // no messages in the channel yet
      assertEquals(0, queue.browse().size());

      // no message at the receiver
      assertTrue(r.getMessages().isEmpty());

      tx.commit();

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      List received = r.getMessages();
      assertEquals(1, received.size());
      Message sm = (Message)received.iterator().next();
      assertTrue(sm.isReliable());
      assertEquals(0, sm.getMessageID());
   }
View Full Code Here

         return;
      }


      // add an ACKING receiver to the channel
      SimpleReceiver r = new SimpleReceiver("AckingReceiver", SimpleReceiver.ACKING);
      assertTrue(queue.add(r));

      SimpleDeliveryObserver observer = new SimpleDeliveryObserver();

      Transaction tx = tr.createTransaction();

      MessageReference[] refs = new MessageReference[NUMBER_OF_MESSAGES];
      for(int i = 0; i < NUMBER_OF_MESSAGES; i++)
      {
         refs[i] = createReference(i, true, "payload" + i);

         // transacted send, reliable message, multiple messages
         // for a transactional send, handle() return value is unspecified
         queue.handle(observer, refs[i], tx);
      }

      // no messages in the channel yet
      assertEquals(0, queue.browse().size());

      // no message at the receiver
      assertTrue(r.getMessages().isEmpty());

      tx.commit();

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      assertEqualSets(refs, r.getMessages());
   }
View Full Code Here

         return;
      }


      // add an ACKING receiver to the channel
      SimpleReceiver r = new SimpleReceiver("AckingReceiver", SimpleReceiver.ACKING);
      assertTrue(queue.add(r));


      SimpleDeliveryObserver observer = new SimpleDeliveryObserver();

      Transaction tx = tr.createTransaction();

      MessageReference[] refs = new MessageReference[NUMBER_OF_MESSAGES];
      for(int i = 0; i < NUMBER_OF_MESSAGES; i++)
      {
         // send a mixture of reliable and non-reliable messages
         refs[i] = createReference(i, (i % 2 == 1), "payload" + i);

         // transacted send, reliable/non-reliable messages, multiple messages
         // for a transactional send, handle() return value is unspecified
         queue.handle(observer, refs[i], tx);
      }

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      // no message at the receiver
      assertTrue(r.getMessages().isEmpty());

      tx.commit();

      // no messages in the channel
      assertEquals(0, queue.browse().size());

      assertEqualSets(refs, r.getMessages());
   }
View Full Code Here

         LocalClusteredQueue queue3 =
            new LocalClusteredQueue(office3, 3, "queue3", channelIDManager.getID(), ms, pm,
                                    true, true, -1, null, tr);
            office3.bindClusteredQueue(new SimpleCondition("topic1"), queue3);

         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue1.add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue2.add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue3.add(receiver3);

         //This will make it fail after casting but before persisting the message in the db
         office1.setFail(true, false, false);

         Transaction tx = tr.createTransaction();

         final int NUM_MESSAGES = 10;

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message msg = CoreMessageFactory.createCoreMessage(i, true, null);

            MessageReference ref = ms.reference(msg);

            office1.route(ref, new SimpleCondition("topic1"), tx);
         }

         Thread.sleep(1000);

         List msgs = receiver1.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver2.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver3.getMessages();
         assertTrue(msgs.isEmpty());

         try
         {
            //An exception should be thrown           
            tx.commit();
            fail();
         }
         catch (TransactionException e)
         {
            //Ok
         }

         Thread.sleep(1000);

         msgs = receiver1.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver2.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver3.getMessages();
         assertTrue(msgs.isEmpty());

         //Nodes 2 and 3 should have a held tx

         assertTrue(office1.getHoldingTransactions().isEmpty());

         assertEquals(1, office2.getHoldingTransactions().size());

         assertEquals(1, office3.getHoldingTransactions().size());

         //We now kill the office - this should make the other offices do their transaction check
         office1.stop();

         Thread.sleep(1000);

         //This should result in the held txs being rolled back

         assertTrue(office1.getHoldingTransactions().isEmpty());

         assertTrue(office2.getHoldingTransactions().isEmpty());

         assertTrue(office3.getHoldingTransactions().isEmpty());

         //The tx should be removed from the holding area and nothing should be received
         //remember node1 has now crashed so no point checking receiver1

         msgs = receiver2.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver3.getMessages();
         assertTrue(msgs.isEmpty());

      }
      finally
      {
View Full Code Here

         LocalClusteredQueue queue3 =
            new LocalClusteredQueue(office3, 3, "queue3", channelIDManager.getID(), ms, pm,
                                    true, true, -1, null, tr);
         office3.bindClusteredQueue(new SimpleCondition("topic1"), queue3);

         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue1.add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue2.add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue3.add(receiver3);

         //This will make it fail after casting and persisting the message in the db
         office1.setFail(false, true, false);

         Transaction tx = tr.createTransaction();

         final int NUM_MESSAGES = 10;

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message msg = CoreMessageFactory.createCoreMessage(i, true, null);

            MessageReference ref = ms.reference(msg);

            office1.route(ref, new SimpleCondition("topic1"), tx);
         }

         Thread.sleep(1000);

         List msgs = receiver1.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver2.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver3.getMessages();
         assertTrue(msgs.isEmpty());

         try
         {
            //An exception should be thrown           
            tx.commit();
            fail();
         }
         catch (TransactionException e)
         {
            //Ok
         }

         Thread.sleep(1000);

         msgs = receiver1.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver2.getMessages();
         assertTrue(msgs.isEmpty());

         msgs = receiver3.getMessages();
         assertTrue(msgs.isEmpty());

         //There should be held tx in 2 and 3 but not in 1

         assertTrue(office1.getHoldingTransactions().isEmpty());

         assertEquals(1, office2.getHoldingTransactions().size());

         assertEquals(1, office3.getHoldingTransactions().size());

         //We now kill the office - this should make the other office do it's transaction check
         office1.stop();

         Thread.sleep(1000);

         assertTrue(office1.getHoldingTransactions().isEmpty());

         assertTrue(office2.getHoldingTransactions().isEmpty());

         assertTrue(office3.getHoldingTransactions().isEmpty());

         //The tx should be removed from the holding area and messages be received
         //no point checking receiver1 since node1 has crashed

         msgs = receiver2.getMessages();
         assertEquals(NUM_MESSAGES, msgs.size());

         msgs = receiver3.getMessages();
         assertEquals(NUM_MESSAGES, msgs.size());


      }
      finally
View Full Code Here

   {
      DefaultRouter dr = new DefaultRouter();
                   
      ClusteredQueue queue = new SimpleQueue(true);
     
      SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
     
      queue.add(receiver1);
              
      dr.add(queue);
     
View Full Code Here

   {
      DefaultRouter dr = new DefaultRouter();
                   
      ClusteredQueue queue = new SimpleQueue(false);
     
      SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
     
      queue.add(receiver1);
     
      dr.add(queue);
     
View Full Code Here

   {
      DefaultRouter dr = new DefaultRouter();
                  
      ClusteredQueue remote1 = new SimpleQueue(false);
    
      SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
     
      remote1.add(receiver1);
     
      dr.add(remote1);
     
     
      ClusteredQueue remote2 = new SimpleQueue(false);
     
      SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
     
      remote2.add(receiver2);
     
      dr.add(remote2);
     
     
      ClusteredQueue remote3 = new SimpleQueue(false);
     
      SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
     
      remote3.add(receiver3);
     
      dr.add(remote3);
     
View Full Code Here

TOP

Related Classes of org.jboss.test.messaging.core.SimpleReceiver

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.