Package org.jboss.messaging.core.impl

Examples of org.jboss.messaging.core.impl.MessagingQueue


      {     
         office = createNonClusteredPostOffice();
                 
         Condition condition1 = new SimpleCondition("condition1")
        
         MessagingQueue queue1 = new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         office.addBinding(new Binding(condition1, queue1, false), false);
                        
         MessagingQueue queue2 = new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, false, -1, null, false);
         office.addBinding(new Binding(condition1, queue2, false), false);
        
         Condition condition2 = new SimpleCondition("condition2")
                 
         MessagingQueue queue3 = new MessagingQueue(1, "queue3", channelIDManager.getID(), ms, pm, false, -1, null, false);
         office.addBinding(new Binding(condition2, queue3, false), false);
        
         Binding b1 = office.getBindingForChannelID(queue1.getChannelID());
         assertNotNull(b1);
         assertEquals(queue1, b1.queue);
         assertEquals(condition1, b1.condition);
        
         Binding b2 = office.getBindingForChannelID(queue2.getChannelID());
         assertNotNull(b2);
         assertEquals(queue2, b2.queue);
         assertEquals(condition1, b2.condition);
        
         Binding b3 = office.getBindingForChannelID(queue3.getChannelID());
         assertNotNull(b3);
         assertEquals(queue3, b3.queue);
         assertEquals(condition2, b3.condition);
        
         office.removeBinding("queue1", false);
        
         b1 = office.getBindingForChannelID(queue1.getChannelID());
         assertNull(b1);

         b2 =office.getBindingForChannelID(queue2.getChannelID());
         assertNotNull(b2);
         assertEquals(queue2, b2.queue);
         assertEquals(condition1, b2.condition);
        
         b3 = office.getBindingForChannelID(queue3.getChannelID());
         assertNotNull(b3);
         assertEquals(queue3, b3.queue);
         assertEquals(condition2, b3.condition);
        
         office.removeBinding("queue2", false);
         office.removeBinding("queue3", false);
        
         b1 = office.getBindingForChannelID(queue1.getChannelID());
         assertNull(b1);

         b2 = office.getBindingForChannelID(queue2.getChannelID());
         assertNull(b2);
         b3 = office.getBindingForChannelID(queue3.getChannelID());
         assertNull(b3);                    

      }
      finally
      {
View Full Code Here


      {     
         postOffice = createNonClusteredPostOffice();
        
         Condition condition1 = new SimpleCondition("topic1");
        
         MessagingQueue queue1 =  new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue1.activate();
        
         postOffice.addBinding(new Binding(condition1, queue1, false), false);
        
         MessagingQueue queue2 =  new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue2.activate();
        
         postOffice.addBinding(new Binding(condition1, queue2, false), false);
        
         MessagingQueue queue3 = new MessagingQueue(1, "queue3", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue3.activate();
        
         postOffice.addBinding(new Binding(condition1, queue3, false), false);
        
         MessagingQueue queue4 = new MessagingQueue(1, "queue4", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue4.activate();
        
         Condition condition2 = new SimpleCondition("topic2");
        
        
         postOffice.addBinding(new Binding(condition2, queue4, false), false);
        
         MessagingQueue queue5 = new MessagingQueue(1, "queue5", channelIDManager.getID(), ms, pm, false,-1, null, false);
         queue5.activate();
        
         postOffice.addBinding(new Binding(condition2, queue5, false), false);
        
         MessagingQueue queue6 = new MessagingQueue(1, "queue6", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue6.activate();
        
         postOffice.addBinding(new Binding(condition2, queue6, false), false);
     
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue1.getLocalDistributor().add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue2.getLocalDistributor().add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue3.getLocalDistributor().add(receiver3);
         SimpleReceiver receiver4 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue4.getLocalDistributor().add(receiver4);
         SimpleReceiver receiver5 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue5.getLocalDistributor().add(receiver5);
         SimpleReceiver receiver6 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue6.getLocalDistributor().add(receiver6);
        
         queue1.deactivate();
         queue2.deactivate();
         queue5.deactivate();
         queue6.deactivate();
        
         assertFalse(queue1.isActive());     
         assertFalse(queue2.isActive());
         assertFalse(queue5.isActive());
         assertFalse(queue6.isActive());
         assertTrue(queue3.isActive());
         assertTrue(queue4.isActive());     
        
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
         MessageReference ref1 = ms.reference(msg1);
View Full Code Here

     
      try
      {     
         postOffice = createNonClusteredPostOffice();
        
         MessagingQueue queue1 = new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue1.activate();
        
         postOffice.addBinding(new Binding(new SimpleCondition("condition1"), queue1, false), false);
             
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
        
         queue1.getLocalDistributor().add(receiver1);
  
         assertTrue(queue1.isActive());
  
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
        
         MessageReference ref1 = ms.reference(msg1);
        
View Full Code Here

      {     
         postOffice = createNonClusteredPostOffice();
        
         Condition condition1 = new SimpleCondition("topic1");
        
         MessagingQueue queue1 =  new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue1.activate();

         postOffice.addBinding(new Binding(condition1, queue1, false), false);
        
         MessagingQueue queue2 =  new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue2.activate();
        
         postOffice.addBinding(new Binding(condition1, queue2, false), false);
        
         MessagingQueue queue3 = new MessagingQueue(1, "queue3", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue3.activate();
        
         postOffice.addBinding(new Binding(condition1, queue3, false), false);

         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue1.getLocalDistributor().add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue2.getLocalDistributor().add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue3.getLocalDistributor().add(receiver3);
        
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
         MessageReference ref1 = ms.reference(msg1);
        
         RouteResult routed = postOffice.route(ref1, condition1, null);     
View Full Code Here

      {     
         postOffice = createNonClusteredPostOffice();
     
         Condition condition1 = new SimpleCondition("topic1");
        
         MessagingQueue queue1 = new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue1.activate();
        
         postOffice.addBinding(new Binding(condition1, queue1, false), false);
        
         MessagingQueue queue2 = new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue2.activate();
        
         postOffice.addBinding(new Binding(condition1, queue2, false), false);
        
         MessagingQueue queue3 = new MessagingQueue(1, "queue3", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue3.activate();
        
         postOffice.addBinding(new Binding(condition1, queue3, false), false);
        
         MessagingQueue queue4 = new MessagingQueue(1, "queue4", channelIDManager.getID(), ms, pm, true, -1, null, false);
         queue4.activate();
        
         Condition condition2 = new SimpleCondition("topic2");
        
         postOffice.addBinding(new Binding(condition2, queue4, false), false);
        
         MessagingQueue queue5 = new MessagingQueue(1, "queue5", channelIDManager.getID(), ms, pm, true, -1, null, false);
         queue5.activate();
        
         postOffice.addBinding(new Binding(condition2, queue5, false), false);
        
         MessagingQueue queue6 = new MessagingQueue(1, "queue6", channelIDManager.getID(), ms, pm, true, -1, null, false);
         queue6.activate();
        
         postOffice.addBinding(new Binding(condition2, queue6, false), false);
     
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue1.getLocalDistributor().add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue2.getLocalDistributor().add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue3.getLocalDistributor().add(receiver3);
         SimpleReceiver receiver4 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue4.getLocalDistributor().add(receiver4);
         SimpleReceiver receiver5 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue5.getLocalDistributor().add(receiver5);
         SimpleReceiver receiver6 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue6.getLocalDistributor().add(receiver6);
        
         assertTrue(queue1.isActive());     
         assertTrue(queue2.isActive());
         assertTrue(queue3.isActive());     
         assertTrue(queue4.isActive());
         assertTrue(queue5.isActive());     
         assertTrue(queue6.isActive());
        
         Message msg1 = CoreMessageFactory.createCoreMessage(1, persistentMessage, null);     
         MessageReference ref1 = ms.reference(msg1);
        
         RouteResult routed = postOffice.route(ref1, condition1, null);     
         assertTrue(routed.getResult());
        
         List msgs = receiver1.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         Message msgRec = (Message)msgs.get(0);
         assertTrue(msg1 == msgRec);
         receiver1.acknowledge(msgRec, null);
         msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         msgRec = (Message)msgs.get(0);
         assertTrue(msg1 == msgRec);
         receiver2.acknowledge(msgRec, null);
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver3.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         msgRec = (Message)msgs.get(0);
         assertTrue(msg1 == msgRec);
         receiver3.acknowledge(msgRec, null);
         msgs = queue3.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver4.getMessages();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver5.getMessages();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver6.getMessages();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         receiver1.clear();
         receiver2.clear();
         receiver3.clear();
        
        
         Message msg2 = CoreMessageFactory.createCoreMessage(2, persistentMessage, null);     
         MessageReference ref2 = ms.reference(msg2);
        
         routed = postOffice.route(ref2, condition2, null);     
         assertTrue(routed.getResult());
        
         msgs = receiver4.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         msgRec = (Message)msgs.get(0);
         assertTrue(msg2 == msgRec);
         receiver4.acknowledge(msgRec, null);
         msgs = queue4.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver5.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         msgRec = (Message)msgs.get(0);
         assertTrue(msg2 == msgRec);
         receiver5.acknowledge(msgRec, null);
         msgs = queue5.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = receiver6.getMessages();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         msgRec = (Message)msgs.get(0);
         assertTrue(msg2 == msgRec);
         receiver6.acknowledge(msgRec, null);
         msgs = queue6.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());   
        
         msgs = receiver1.getMessages();
         assertNotNull(msgs);
View Full Code Here

      {     
         postOffice = createNonClusteredPostOffice();
        
         Condition condition1 = new SimpleCondition("topic1");
     
         MessagingQueue queue1 = new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue1.activate();
        
         postOffice.addBinding(new Binding(condition1, queue1, false), false);
        
         MessagingQueue queue2 = new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, true,-1, null, false);
         queue2.activate();
        
         postOffice.addBinding(new Binding(condition1, queue2, false), false);
         
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue1.getLocalDistributor().add(receiver1);

         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue2.getLocalDistributor().add(receiver2);
  
         assertTrue(queue1.isActive());
         assertTrue(queue2.isActive());
  
         Message msg1 = CoreMessageFactory.createCoreMessage(1, persistentMessage, null);     
         MessageReference ref1 = ms.reference(msg1);
        
         Message msg2 = CoreMessageFactory.createCoreMessage(2, persistentMessage, null);     
         MessageReference ref2 = ms.reference(msg2);
        
         Transaction tx = tr.createTransaction();
        
         RouteResult routed = postOffice.route(ref1, condition1, tx);           
         assertTrue(routed.getResult());
         routed = postOffice.route(ref2, condition1, tx);           
         assertTrue(routed.getResult());
              
         List msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         tx.commit();
        
         msgs = receiver1.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         Message msgRec1 = (Message)msgs.get(0);
         Message msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg1);
         assertTrue(msgRec2 == msg2);
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg1);
         assertTrue(msgRec2 == msg2);
        
         //Acknowledge
         receiver1.acknowledge(msgRec1, null);
         receiver1.acknowledge(msgRec2, null);
        
         receiver2.acknowledge(msgRec1, null);
         receiver2.acknowledge(msgRec2, null);
  
         msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         receiver1.clear();
        
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         receiver2.clear();
             
         Message msg3 = CoreMessageFactory.createCoreMessage(3, persistentMessage, null);     
         MessageReference ref3 = ms.reference(msg3);
        
         Message msg4 = CoreMessageFactory.createCoreMessage(4, persistentMessage, null);     
         MessageReference ref4 = ms.reference(msg4);
        
         tx = tr.createTransaction();
        
         routed = postOffice.route(ref3, condition1, tx);           
         assertTrue(routed.getResult());
         routed = postOffice.route(ref4, condition1, tx);           
         assertTrue(routed.getResult());
              
         msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         tx.rollback();
        
         msgs = receiver1.getMessages();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         receiver1.clear();
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         receiver2.clear();
        
        
         Message msg5 = CoreMessageFactory.createCoreMessage(5, persistentMessage, null);     
         MessageReference ref5 = ms.reference(msg5);
        
         Message msg6 = CoreMessageFactory.createCoreMessage(6, persistentMessage, null);     
         MessageReference ref6 = ms.reference(msg6);
              
         routed = postOffice.route(ref5, new SimpleCondition("topic1"), null);           
         assertTrue(routed.getResult());
         routed = postOffice.route(ref6, new SimpleCondition("topic1"), null);           
         assertTrue(routed.getResult());
        
         msgs = receiver1.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg5);
         assertTrue(msgRec2 == msg6);
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg5);
         assertTrue(msgRec2 == msg6);
        
         //Acknowledge transactionally
        
         tx = tr.createTransaction();
        
         receiver1.acknowledge(msgRec1, tx);
         receiver1.acknowledge(msgRec2, tx);
        
         receiver2.acknowledge(msgRec1, tx);
         receiver2.acknowledge(msgRec2, tx);
        
         int deliveringCount = queue1.getDeliveringCount();
         assertEquals(2, deliveringCount);
        
         deliveringCount = queue2.getDeliveringCount();
         assertEquals(2, deliveringCount);
        
         tx.commit();
        
         msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
              
         receiver1.clear();
        
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
              
         receiver2.clear();
        
         Message msg7 = CoreMessageFactory.createCoreMessage(7, persistentMessage, null);     
         MessageReference ref7 = ms.reference(msg7);
        
         Message msg8 = CoreMessageFactory.createCoreMessage(8, persistentMessage, null);     
         MessageReference ref8 = ms.reference(msg8);
              
         routed = postOffice.route(ref7, new SimpleCondition("topic1"), null);           
         assertTrue(routed.getResult());
         routed = postOffice.route(ref8, new SimpleCondition("topic1"), null);           
         assertTrue(routed.getResult());
        
         msgs = receiver1.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg7);
         assertTrue(msgRec2 == msg8);
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msgRec1 == msg7);
         assertTrue(msgRec2 == msg8);
        
         //Acknowledge transactionally
        
         tx = tr.createTransaction();
        
         receiver1.acknowledge(msgRec1, tx);
         receiver1.acknowledge(msgRec2, tx);
        
         receiver2.acknowledge(msgRec1, tx);
         receiver2.acknowledge(msgRec2, tx);
        
         deliveringCount = queue1.getDeliveringCount();
         assertEquals(2, deliveringCount);
        
         deliveringCount = queue2.getDeliveringCount();
         assertEquals(2, deliveringCount);
        
         tx.rollback();
        
         deliveringCount = queue1.getDeliveringCount();
         assertEquals(2, deliveringCount);                 
        
         receiver1.acknowledge(msgRec1, null);
         receiver1.acknowledge(msgRec2, null);
        
         deliveringCount = queue2.getDeliveringCount();
         assertEquals(2, deliveringCount);    
        
        
         receiver2.acknowledge(msgRec1, null);
         receiver2.acknowledge(msgRec2, null);        
View Full Code Here

        
         SimpleFilter filter = new SimpleFilter(2);
        
         Condition condition1 = new SimpleCondition("topic1");
     
         MessagingQueue queue1 = new MessagingQueue(1, "queue1", channelIDManager.getID(), ms, pm, false, -1, filter, false);
         queue1.activate();
        
         postOffice.addBinding(new Binding(condition1, queue1, false), false);
        
         MessagingQueue queue2 = new MessagingQueue(1, "queue2", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue2.activate();
        
         postOffice.addBinding(new Binding(condition1, queue2, false), false);
        
         MessagingQueue queue3 = new MessagingQueue(1, "queue3", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue3.activate();
        
         postOffice.addBinding(new Binding(condition1, queue3, false), false);
        
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue1.getLocalDistributor().add(receiver1);
         SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue2.getLocalDistributor().add(receiver2);
         SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue3.getLocalDistributor().add(receiver3);
        
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
         MessageReference ref1 = ms.reference(msg1);        
         RouteResult routed = postOffice.route(ref1, condition1, null);     
         assertTrue(routed.getResult());
         Message msg2 = CoreMessageFactory.createCoreMessage(2);     
         MessageReference ref2 = ms.reference(msg2);        
         routed = postOffice.route(ref2, condition1, null);     
         assertTrue(routed.getResult());
         Message msg3 = CoreMessageFactory.createCoreMessage(3);     
         MessageReference ref3 = ms.reference(msg3);        
         routed = postOffice.route(ref3, condition1, null);     
         assertTrue(routed.getResult());
        
         List msgs = receiver1.getMessages();
         assertNotNull(msgs);          
         assertEquals(1, msgs.size());                 
         Message msgRec = (Message)msgs.get(0);
         assertTrue(msg2 == msgRec);
         receiver1.acknowledge(msgRec, null);
         msgs = queue1.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty())
        
         msgs = receiver2.getMessages();
         assertNotNull(msgs);
         assertEquals(3, msgs.size());
         Message msgRec1 = (Message)msgs.get(0);
         assertTrue(msg1 == msgRec1);
         Message msgRec2 = (Message)msgs.get(1);
         assertTrue(msg2 == msgRec2);
         Message msgRec3 = (Message)msgs.get(2);
         assertTrue(msg3 == msgRec3);
         
         receiver2.acknowledge(msgRec1, null);
         receiver2.acknowledge(msgRec2, null);
         receiver2.acknowledge(msgRec3, null);
         msgs = queue2.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty())
        
         msgs = receiver3.getMessages();
         assertNotNull(msgs);
         assertEquals(3, msgs.size());
         msgRec1 = (Message)msgs.get(0);
         assertTrue(msg1 == msgRec1);
         msgRec2 = (Message)msgs.get(1);
         assertTrue(msg2 == msgRec2);
         msgRec3 = (Message)msgs.get(2);
         assertTrue(msg3 == msgRec3);
         
         receiver3.acknowledge(msgRec1, null);
         receiver3.acknowledge(msgRec2, null);
         receiver3.acknowledge(msgRec3, null);
         msgs = queue3.browse(null);
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());         
      }
      finally
      {
View Full Code Here

      super.tearDown();
   }
  
   public void test1() throws Throwable
   {
      MessagingQueue queue = new MessagingQueue(1, "queue1", 1, ms, pm, true, -1, null, 100, 20, 10, false, 300000);
      queue.activate();
     
      Message[] msgs = new Message[241];
     
      MessageReference[] refs = new MessageReference[241];
 
      //Send 99
     
      for (int i = 0; i < 99; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);
      }
     
      //verify no refs in storage
           
      List refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertTrue(refIds.isEmpty());
     
      //Verify no msgs in storage
      ; List msgIds = getMessageIds();
      assertTrue(msgIds.isEmpty());
     
      //Verify 99 refs in queue
      assertEquals(99, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify not paging
      assertFalse(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
      //Send one more ref
     
      msgs[99] = CoreMessageFactory.createCoreMessage(99, false, null);
      refs[99] = ms.reference(msgs[99]);
      queue.handle(null, refs[99], null);
 
      //verify no refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertTrue(refIds.isEmpty());
     
      //Verify no msgs in storage
      ; msgIds = getMessageIds();
      assertTrue(msgIds.isEmpty());
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
           
      //Verify paging
      assertTrue(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
                 
      //Send 9 more
     
      for (int i = 100; i < 109; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);
      }
     
      //verify no refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertTrue(refIds.isEmpty());
     
      //Verify no msgs in storage
      ; msgIds = getMessageIds();
      assertTrue(msgIds.isEmpty());
         
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 9 refs in downcache
      assertEquals(9, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Send one more ref - should clear the down cache
     
      msgs[109] = CoreMessageFactory.createCoreMessage(109, false, null);
      refs[109] = ms.reference(msgs[109]);
      queue.handle(null, refs[109], null);
   
      //verify 10 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(10, refIds.size());
      assertSameIds(refIds, refs, 100, 109);
     
      //Verify 10 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(10, msgIds.size());
      assertSameIds(msgIds, refs, 100, 109);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
      //Send one more ref
     
      msgs[110] = CoreMessageFactory.createCoreMessage(110, false, null);
      refs[110] = ms.reference(msgs[110]);
      queue.handle(null, refs[110], null);
     
      //verify 10 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(10, refIds.size());
      assertSameIds(refIds, refs, 100, 109);
     
      //Verify 10 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(10, msgIds.size());
      assertSameIds(msgIds, refs, 100, 109);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 1 refs in downcache
      assertEquals(1, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
      //Send 9 more refs
     
      for (int i = 111; i < 120; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);        
      }     
     
      //verify 20 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(20, refIds.size());
      assertSameIds(refIds, refs, 100, 119);
     
      //Verify 20 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(20, msgIds.size());
      assertSameIds(msgIds, refs, 100, 119);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Send 10 more refs
     
      for (int i = 120; i < 130; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);        
     
     
      //verify 30 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(30, refIds.size());
      assertSameIds(refIds, refs, 100, 129);
     
      //Verify 30 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(30, msgIds.size());
      assertSameIds(msgIds, refs, 100, 129);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Send 10 more refs
     
      for (int i = 130; i < 140; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);        
     
     
      //verify 40 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(40, refIds.size());
      assertSameIds(refIds, refs, 100, 139);
     
      //Verify 40 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(40, msgIds.size());
      assertSameIds(msgIds, refs, 100, 139);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging())

      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
     
     
      //Send one more ref
     
      msgs[140] = CoreMessageFactory.createCoreMessage(140, false, null);
      refs[140] = ms.reference(msgs[140]);
      queue.handle(null, refs[140], null);
     
      //verify 40 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(40, refIds.size());
      assertSameIds(refIds, refs, 100, 139);
     
      //Verify 40 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(40, msgIds.size());
      assertSameIds(msgIds, refs, 100, 139);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 1 refs in downcache
      assertEquals(1, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging())
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
               
     
     
      //Consume 1
      int consumeCount = 0;
      consume(queue, consumeCount, refs, 1);
      consumeCount++;
     
      //verify 40 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(40, refIds.size());
      assertSameIds(refIds, refs, 100, 139);
     
      //Verify 40 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(40, msgIds.size());
      assertSameIds(msgIds, refs, 100, 139);
     
      //Verify 99 refs in queue
      assertEquals(99, queue.memoryRefCount());
     
      //Verify 1 refs in downcache
      assertEquals(1, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Now we should have 99 refs in memory, 40 refs in storage, and 1 in down cache, 100 msgs in memory
     
      //Consume 18 more
      consume(queue, consumeCount, refs, 18);
      consumeCount += 18;
     
      //We should have 81 refs in memory, 40 refs in storage, and 1 in down cache, 82 msgs in memory
     
      //verify 40 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(40, refIds.size());
      assertSameIds(refIds, refs, 100, 139);
     
      //Verify 40 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(40, msgIds.size());
      assertSameIds(msgIds, refs, 100, 139);
     
      //Verify 81 refs in queue
      assertEquals(81, queue.memoryRefCount());
     
      //Verify 1 refs in downcache
      assertEquals(1, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Consume one more
     
      consume(queue, consumeCount, refs, 1);
      consumeCount++;
     
      //This should force a load of 20 and flush the downcache
     
      //verify 21 refs in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
     
      assertEquals(21, refIds.size());
      assertSameIds(refIds, refs, 120, 140);
     
      //Verify 21 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(21, msgIds.size());
      assertSameIds(msgIds, refs, 120, 140);
       
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Consume 20 more
     
      consume(queue, consumeCount, refs, 20);
      consumeCount += 20;
     
      //verify 1 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(1, refIds.size());
      assertSameIds(refIds, refs, 140, 140);
     
      //Verify 1 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(1, msgIds.size());
      assertSameIds(msgIds, refs, 140, 140);

      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
     
      //Consume 1 more
     
      consume(queue, consumeCount, refs, 1);
      consumeCount ++;
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
     
      //Verify 81 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
     
     
      //Consume 20 more
     
      consume(queue, consumeCount, refs, 20);
      consumeCount += 20;
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
     
      //Verify 80 refs in queue
      assertEquals(80, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify not paging
      assertFalse(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
     
      //Consumer 60 more
     
           
      consume(queue, consumeCount, refs, 60);
      consumeCount += 60;
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
     
      //Verify 20 refs in queue
      assertEquals(20, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify not paging
      assertFalse(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
           
     
     
      //Add 20 more messages
      for (int i = 141; i < 161; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);
      }
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
  
      //Verify 40 refs in queue
      assertEquals(40, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify not paging
      assertFalse(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
     
     
      //Add 20 more messages
      for (int i = 161; i < 181; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);
      }
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
     
      //Verify 60 refs in queue
      assertEquals(60, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify not paging
      assertFalse(queue.isPaging());
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());
     
     
     
      //Add 60 more messages
      for (int i = 181; i < 241; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
         refs[i] = msgs[i].createReference();
         queue.handle(null, refs[i], null);
      }
     
      //verify 20 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(20, refIds.size());
      assertSameIds(refIds, refs, 221, 240);
     
      //Verify 20 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(20, msgIds.size());
      assertSameIds(msgIds, refs, 221, 240);
       
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify 0 refs in downcache
      assertEquals(0, queue.downCacheCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify no deliveries
      assertEquals(0, queue.getDeliveringCount());;
     
      SimpleDelivery[] dels = getDeliveries(queue, 20);
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
 
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify 20 deliveries
      assertEquals(20, queue.getDeliveringCount());;
     
     
      
      //Cancel last 7
      for (int i = 19; i > 12; i--)
      {
         dels[i].cancel()
      }
     
      //This should cause the refs corresponding to the deliveries to go the front of the in memory quuee
      //and the oldest refs in memory evicted off the end into the down cache
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
 
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify 13 deliveries
      assertEquals(13, queue.getDeliveringCount());;
     
     
  
      //Cancel 3 more
     
      for (int i = 12; i > 9; i--)
      {
         dels[i].cancel();
      }
        
      //This should cause the down cache to be flushed
     
      //verify 10 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(10, refIds.size());
      assertSameIds(refIds, refs, 231, 240);
     
      //Verify 10 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(10, msgIds.size());
      assertSameIds(msgIds, refs, 231, 240);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify 10 deliveries
      assertEquals(10, queue.getDeliveringCount());;
     
           
     
      //Cancel the last 10
     
      for (int i = 9; i >= 0; i--)
      {
         dels[i].cancel();
      }

      //This should cause the down cache to be flushed
     
      //verify 20 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(20, refIds.size());
      assertSameIds(refIds, refs, 221, 240);
     
      //Verify 20 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(20, msgIds.size());
      assertSameIds(msgIds, refs, 221, 240);
     
      //Verify 100 refs in queue
      assertEquals(100, queue.memoryRefCount());
     
      //Verify paging
      assertTrue(queue.isPaging());     
     
      //Verify 0 deliveries
      assertEquals(0, queue.getDeliveringCount());;
     
      assertEquals(0, queue.downCacheCount());


      //Now there should be 120 message left to consume
     
      //Consume 50
     
      consume(queue, consumeCount, refs, 50);
      consumeCount += 50;
           

      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());    
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
   
      //Verify 0 deliveries
      assertEquals(0, queue.getDeliveringCount());
     
      assertEquals(0, queue.downCacheCount());
                 
      //Verify 70 refs in queue
      assertEquals(70, queue.memoryRefCount())
     
//    Verify not paging
      assertFalse(queue.isPaging());     
     
     
     
      //Consume the rest
     
      consume(queue, consumeCount, refs, 70);
      consumeCount += 70;
     
      //verify 0 ref in storage
     
      refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
      assertEquals(0, refIds.size());    
     
      //Verify 0 msgs in storage
      ; msgIds = getMessageIds();
      assertEquals(0, msgIds.size());

      //Verify 0 refs in queue
      assertEquals(0, queue.memoryRefCount());
     
      //Make sure there are no more refs in queue
     
      assertEquals(0, queue.getMessageCount());
   }
View Full Code Here

         {          
            // Create a new queue

            JMSCondition queueCond = new JMSCondition(true, destination.getName());
           
            queue = new MessagingQueue(nodeId, destination.getName(),
                                     serverPeer.getChannelIDManager().getID(),
                                       serverPeer.getMessageStore(), serverPeer.getPersistenceManagerInstance(),
                                       true,
                                       destination.getMaxSize(), null,
                                       destination.getFullSize(), destination.getPageSize(),
View Full Code Here

         dm.registerDestination(mDest);

         if (dest.isQueue())
         {
            Queue coreQueue = new MessagingQueue(nodeId, dest.getName(),
                                     idm.getID(), ms, pm, false, -1, null,
                                       fullSize, pageSize, downCacheSize, postOffice.isClustered(),
                                       sp.getRecoverDeliveriesTimeout());


            Condition cond = new JMSCondition(true, dest.getName());

           // make a binding for this temporary queue

            // temporary queues need to bound on ALL nodes of the cluster
            postOffice.addBinding(new Binding(cond, coreQueue, true), postOffice.isClustered());

            coreQueue.activate();
         }
      }
      catch (Throwable t)
      {
         throw ExceptionUtil.handleJMSInvocation(t, this + " addTemporaryDestination");
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.impl.MessagingQueue

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.