Package org.jboss.messaging.core.local

Examples of org.jboss.messaging.core.local.PagingFilteredQueue


      super.tearDown();
   }
  
   public void test1() throws Throwable
   {
      PagingFilteredQueue queue1 = new PagingFilteredQueue("queue1", 1, ms, pm, true, true, -1, null, 100, 20, 10);
     
      PagingFilteredQueue queue2 = new PagingFilteredQueue("queue2", 2, ms, pm, true, true, -1, null, 50, 10, 5);
                               
      Message[] msgs = new Message[150];
     
      MessageReference[] refs1 = new MessageReference[150];
     
      MessageReference[] refs2 = new MessageReference[150];
     
      //Send 50 refs to both channels
      Transaction tx = tr.createTransaction();
      for (int i = 0; i < 50; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
        
         refs1[i] = ms.reference(msgs[i]);
               
         queue1.handle(null, refs1[i], tx);
        
         refs1[i].releaseMemoryReference();
        
         refs2[i] = ms.reference(msgs[i]);
        
         queue2.handle(null, refs2[i], tx);
        
         refs2[i].releaseMemoryReference();
      }
      tx.commit();
     
      //Queue1
      List refIds = getPagedReferenceIds(queue1.getChannelID());
      assertEquals(0, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue1.getChannelID());
      assertEquals(50, refIds.size());
                                   
      assertEquals(50, queue1.memoryRefCount());
     
      assertEquals(0, queue1.downCacheCount());
     
      assertFalse(queue1.isPaging());     
     
      assertEquals(0, queue1.getDeliveringCount());
     
      //Queue2
     
      refIds = getPagedReferenceIds(queue2.getChannelID());
      assertEquals(0, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue2.getChannelID());
      assertEquals(50, refIds.size());
                             
      assertEquals(50, queue2.memoryRefCount());
     
      assertEquals(0, queue2.downCacheCount());
     
      assertTrue(queue2.isPaging());     
     
      assertEquals(0, queue2.getDeliveringCount());
           
      //Msgs
     
      assertEquals(50, ms.size());
     
      List msgIds = getMessageIds();
      assertEquals(50, msgIds.size());
     
      //Add 25 more
      tx = tr.createTransaction();
      for (int i = 50; i < 75; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
        
         refs1[i] = ms.reference(msgs[i]);
               
         queue1.handle(null, refs1[i], tx);
        
         refs1[i].releaseMemoryReference();
        
         refs2[i] = ms.reference(msgs[i]);
        
         queue2.handle(null, refs2[i], tx);
        
         refs2[i].releaseMemoryReference();
      }
      tx.commit();
     
      //Queue1
      refIds = getPagedReferenceIds(queue1.getChannelID());
             
      assertEquals(0, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue1.getChannelID());
      assertEquals(75, refIds.size());
                                   
      assertEquals(75, queue1.memoryRefCount());
     
      assertEquals(0, queue1.downCacheCount());
     
      assertFalse(queue1.isPaging());     
     
      assertEquals(0, queue1.getDeliveringCount());
     
      //Queue2
     
      refIds = getPagedReferenceIds(queue2.getChannelID());
      assertEquals(25, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue2.getChannelID());
      assertEquals(75, refIds.size());
                             
      assertEquals(50, queue2.memoryRefCount());
     
      assertEquals(0, queue2.downCacheCount());
     
      assertTrue(queue2.isPaging());     
     
      assertEquals(0, queue2.getDeliveringCount());
           
      //Msgs
     
      assertEquals(75, ms.size());
     
      msgIds = getMessageIds();
      assertEquals(75, msgIds.size());
     
     
     
      // Add 25 more
      tx = tr.createTransaction();
      for (int i = 75; i < 100; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
        
         refs1[i] = ms.reference(msgs[i]);
               
         queue1.handle(null, refs1[i], tx);
        
         refs1[i].releaseMemoryReference();
        
         refs2[i] = ms.reference(msgs[i]);
        
         queue2.handle(null, refs2[i], tx);
        
         refs2[i].releaseMemoryReference();
      }
      tx.commit();
     
      //Queue1
      refIds = getPagedReferenceIds(queue1.getChannelID());
               
      assertEquals(0, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue1.getChannelID());
      assertEquals(100, refIds.size());
                                   
      assertEquals(100, queue1.memoryRefCount());
     
      assertEquals(0, queue1.downCacheCount());
     
      assertTrue(queue1.isPaging());     
     
      assertEquals(0, queue1.getDeliveringCount());
     
      //Queue2
     
      refIds = getPagedReferenceIds(queue2.getChannelID());
      assertEquals(50, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue2.getChannelID());
      assertEquals(100, refIds.size());
                             
      assertEquals(50, queue2.memoryRefCount());
     
      assertEquals(0, queue2.downCacheCount());
     
      assertTrue(queue2.isPaging());     
     
      assertEquals(0, queue2.getDeliveringCount());
           
      //Msgs
     
      assertEquals(100, ms.size());
     
      msgIds = getMessageIds();
      assertEquals(100, msgIds.size());
     
     
      // Add 50 more
      tx = tr.createTransaction();
      for (int i = 100; i < 150; i++)
      {
         msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
        
         refs1[i] = ms.reference(msgs[i]);
               
         queue1.handle(null, refs1[i], tx);
        
         refs1[i].releaseMemoryReference();
        
         refs2[i] = ms.reference(msgs[i]);
        
         queue2.handle(null, refs2[i], tx);
        
         refs2[i].releaseMemoryReference();
      }
      tx.commit();
     
      //Queue1
      refIds = getPagedReferenceIds(queue1.getChannelID());
               
      assertEquals(50, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue1.getChannelID());
      assertEquals(150, refIds.size());
                                   
      assertEquals(100, queue1.memoryRefCount());
     
      assertEquals(0, queue1.downCacheCount());
     
      assertTrue(queue1.isPaging());     
     
      assertEquals(0, queue1.getDeliveringCount());
     
      //Queue2
     
      refIds = getPagedReferenceIds(queue2.getChannelID());
      assertEquals(100, refIds.size());
     
      refIds = getReferenceIdsOrderedByOrd(queue2.getChannelID());
      assertEquals(150, refIds.size());
                             
      assertEquals(50, queue2.memoryRefCount());
     
      assertEquals(0, queue2.downCacheCount());
     
      assertTrue(queue2.isPaging());     
     
      assertEquals(0, queue2.getDeliveringCount());
           
      //Msgs
     
      assertEquals(100, ms.size());
     
      msgIds = getMessageIds();
      assertEquals(150, msgIds.size());
     
      //    Remove 100 then cancel
      this.cancelDeliveries(queue1, 100);
     
      this.cancelDeliveries(queue2, 100);
     
      //Now consume them all
     
      this.consumeInTx(queue1, 0, refs1, 150);
      
      this.consumeInTx(queue2, 0, refs2, 150);
     
      //    Queue1
      refIds = getReferenceIdsOrderedByOrd(queue1.getChannelID());
               
      assertEquals(0, refIds.size());
                                   
      assertEquals(0, queue1.memoryRefCount());
     
      assertEquals(0, queue1.downCacheCount());
     
      assertFalse(queue1.isPaging());     
     
      assertEquals(0, queue1.getDeliveringCount());
     
      //Queue2
     
      refIds = getReferenceIdsOrderedByOrd(queue2.getChannelID());
      assertEquals(0, refIds.size());
                             
      assertEquals(0, queue2.memoryRefCount());
     
      assertEquals(0, queue2.downCacheCount());
     
      assertFalse(queue2.isPaging());     
     
      assertEquals(0, queue2.getDeliveringCount());
           
      //Msgs
     
      assertEquals(0, ms.size());
     
      msgIds = getMessageIds();
      assertEquals(0, msgIds.size());
     
      //Should be none left
     
      assertEquals(0, queue1.getMessageCount());
     
      assertEquals(0, queue2.getMessageCount());
     
      assertEquals(0, LockMap.instance.getSize());
     
   }
View Full Code Here


               out.println("</tr>");

               if (entry2.getValue() instanceof Binding &&
                  ((Binding)entry2.getValue()).getQueue() instanceof PagingFilteredQueue)
               {
                   PagingFilteredQueue queue =
                      (PagingFilteredQueue)((Binding)entry2.getValue()).getQueue();
                   List undelivered = queue.undelivered(null);
                   if (!undelivered.isEmpty())
                   {
                       out.println("<tr><td>List of undelivered messages on Paging</td>");

                       out.println("<td colspan=2><table border=1>");
View Full Code Here

      Queue queue;

      if (nodeID == currentNodeId)
      {        
         queue =
            new PagingFilteredQueue(queueName, channelID, ms, pm, true, true, -1, filter);
      }
      else
      {
         throw new IllegalStateException("This is a non clustered post office - should not " +
                                         "have bindings from different nodes!");
View Full Code Here

   public void setUp() throws Exception
   {
      super.setUp();
     
      queue = new PagingFilteredQueue("queue1", 1, ms, pm, true, false, -1, null);
   }
View Full Code Here

      queue.close();
   }

   public void recoverChannel() throws Exception
   {
      queue = new PagingFilteredQueue("queue1", 1, ms, pm, true, false, -1, null);
   }
View Full Code Here

      {            
         office1 = createPostOffice();
        
         //Bind one durable
        
         PagingFilteredQueue queue1 =
            new PagingFilteredQueue("durableQueue", channelIDManager.getID(), ms, pm, true, true,
                                    -1, null);
        
        
         Binding binding1 =
            office1.bindQueue(new SimpleCondition("condition1"), queue1);
        
         //Binding twice with the same name should fail     
         try
         {
            office1.bindQueue(new SimpleCondition("condition1"), queue1);
            fail();
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
              
         //Bind one non durable
         PagingFilteredQueue queue2 =
            new PagingFilteredQueue("nonDurableQueue", channelIDManager.getID(), ms, pm, true,
                                    false, -1, null);
        
         Binding binding2 =
            office1.bindQueue(new SimpleCondition("condition2"), queue2);
        
View Full Code Here

     
      try
      {     
         office = createPostOffice();
        
         PagingFilteredQueue queue1 = new PagingFilteredQueue("queue1", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding1 =
            office.bindQueue(new SimpleCondition("condition1"), queue1);
        
         PagingFilteredQueue queue2 = new PagingFilteredQueue("queue2", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding2 =
            office.bindQueue(new SimpleCondition("condition1"), queue2);
        
         PagingFilteredQueue queue3 = new PagingFilteredQueue("queue3", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding3 =
            office.bindQueue(new SimpleCondition("condition1"), queue3);
        
         PagingFilteredQueue queue4 = new PagingFilteredQueue("queue4", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding4 =
            office.bindQueue(new SimpleCondition("condition1"), queue4);
        
         PagingFilteredQueue queue5 = new PagingFilteredQueue("queue5", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding5 =
            office.bindQueue(new SimpleCondition("condition2"), queue5);
        
         PagingFilteredQueue queue6 = new PagingFilteredQueue("queue6", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding6 =
            office.bindQueue(new SimpleCondition("condition2"), queue6);
        
         PagingFilteredQueue queue7 = new PagingFilteredQueue("queue7", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding7 =
            office.bindQueue(new SimpleCondition("condition2"), queue7);
        
         PagingFilteredQueue queue8 = new PagingFilteredQueue("queue8", channelIDManager.getID(), ms, pm, true, false, -1, null);
        
         Binding binding8 =
            office.bindQueue(new SimpleCondition("condition2"), queue8);
        
        
View Full Code Here

      try
      {
     
         postOffice = createPostOffice();
        
         PagingFilteredQueue queue1 =
            new PagingFilteredQueue("queue1", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic1"), queue1);
        
         PagingFilteredQueue queue2 =
            new PagingFilteredQueue("queue2", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic1"), queue2);
        
         PagingFilteredQueue queue3 =
            new PagingFilteredQueue("queue3", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic1"), queue3);
        
         PagingFilteredQueue queue4 =
            new PagingFilteredQueue("queue4", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic2"), queue4);
        
         PagingFilteredQueue queue5 =
            new PagingFilteredQueue("queue5", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic2"), queue5);
        
         PagingFilteredQueue queue6 =
            new PagingFilteredQueue("queue6", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic2"), queue6);
     
         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);
         SimpleReceiver receiver4 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue4.add(receiver4);
         SimpleReceiver receiver5 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue5.add(receiver5);
         SimpleReceiver receiver6 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
         queue6.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 = createPostOffice();
        
         PagingFilteredQueue queue1 =
            new PagingFilteredQueue("queue1", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("condition1"), queue1);
             
         SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);;
         queue1.add(receiver1);
  
         assertTrue(queue1.isActive());
  
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
         MessageReference ref1 = ms.reference(msg1);
        
         boolean routed =
View Full Code Here

      {     
         postOffice = createPostOffice();
        
         SimpleFilter filter = new SimpleFilter(2);
     
         PagingFilteredQueue queue1 =
            new PagingFilteredQueue("queue1", channelIDManager.getID(), ms, pm, true, false,
                                    -1, filter);
        
         postOffice.bindQueue(new SimpleCondition("topic1"), queue1);
        
         PagingFilteredQueue queue2 =
            new PagingFilteredQueue("queue2", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(new SimpleCondition("topic1"), queue2);
        
         PagingFilteredQueue queue3 =
            new PagingFilteredQueue("queue3", channelIDManager.getID(), ms, pm, true, false,
                                    -1, null);
        
         postOffice.bindQueue(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);
        
         Message msg1 = CoreMessageFactory.createCoreMessage(1);     
         MessageReference ref1 = ms.reference(msg1);        
         boolean routed = postOffice.route(ref1, new SimpleCondition("topic1"), null);     
         assertTrue(routed);
         Message msg2 = CoreMessageFactory.createCoreMessage(2);     
         MessageReference ref2 = ms.reference(msg2);        
         routed = postOffice.route(ref2, new SimpleCondition("topic1"), null);     
         assertTrue(routed);
         Message msg3 = CoreMessageFactory.createCoreMessage(3);     
         MessageReference ref3 = ms.reference(msg3);        
         routed = postOffice.route(ref3, new SimpleCondition("topic1"), null);     
         assertTrue(routed);
        
         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();
         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();
         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();
         assertNotNull(msgs);
         assertTrue(msgs.isEmpty());
        
         if (checkNoMessageData())
         {
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.local.PagingFilteredQueue

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.