Package org.jboss.messaging.core.contract

Examples of org.jboss.messaging.core.contract.PostOffice


        
   }
  
   public final void testClusteredBindUnbind() throws Throwable
   {
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {        
         // Start one office
        
         office1 = createClusteredPostOffice(1);
         
         // Add a couple of queues
        
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         boolean added = office1.addBinding(new Binding(condition1, queue1, false), false);
         assertTrue(added);
              
         Queue queue2 = new MessagingQueue(1, "sub2", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue2.activate();

         added = office1.addBinding(new Binding(condition1, queue2, false), false);
         assertTrue(added);
              
         // Start another office - make sure it picks up the bindings from the first node
        
         office2 = createClusteredPostOffice(2);
          
         // Should return all queues
         Collection queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
               
        
         // Add another queue on node 2
        
         Queue queue3 = new MessagingQueue(2, "sub3", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue3.activate();

         added = office2.addBinding(new Binding(condition1, queue3, false), false);
         assertTrue(added);
 
         // Make sure both nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
       

         // Add another binding on node 2
        
         Queue queue4 = new MessagingQueue(2, "sub4", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue4.activate();

         added = office2.addBinding(new Binding(condition1, queue4, false), false);
         assertTrue(added);
        
         // Make sure both nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(4, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(4, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         // Unbind binding 1 and binding 2
         Binding removed = office1.removeBinding(queue1.getName(), false);
         assertNotNull(removed);
                 
         removed = office1.removeBinding(queue2.getName(), false);
         assertNotNull(removed);
        
         // Make sure bindings are not longer available on either node
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
        
         // Add a third office
                 
         office3 = createClusteredPostOffice(3);
        
         // Maks sure it picks up the bindings
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         // Add another binding on node 3
                 
         Queue queue5 = new MessagingQueue(3, "sub5", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue5.activate();
        
         added = office3.addBinding(new Binding(condition1, queue5, false), false);
         assertTrue(added);
        
         // Make sure all nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         // Add a durable and a non durable binding on node 1
        
         Queue queue6 = new MessagingQueue(1, "sub6", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue6.activate();
        
         added = office1.addBinding(new Binding(condition1, queue6, false), false);
         assertTrue(added);
        
         Queue queue7 = new MessagingQueue(1, "sub7", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue7.activate();
        
         added = office1.addBinding(new Binding(condition1, queue7, false), false);
         assertTrue(added);
        
        
         // Make sure all nodes pick them up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
              
         // Stop office 1
         office1.stop();
 
         // Need to sleep since it may take some time for the view changed request to reach the
         // members which causes the bindings to be removed.
        
         Thread.sleep(3000);
        
         // All it's bindings should be removed from the other nodes, including durable
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         // Stop office 2
         office2.stop();
        
         Thread.sleep(3000);
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue5));
        
         // Restart office 1 and office 2
         office1.start();
        
         office2.start();
                 
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));

         // Stop all offices
        
         office1.stop();
         office2.stop();
         office3.stop();
        
         // Start them all
         office1.start();
         office2.start();
         office3.start();
        
         // Only the durable queue should survive
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));      
        
         //Unbind it
        
         log.info("Removing queue6 binding");
         removed = office1.removeBinding(queue6.getName(), false);
         assertNotNull(removed);        
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());    
        
        
         //Bind another few more clustered
                          
         Queue queue8 = new MessagingQueue(1, "sub8", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue8.activate();
        
         Queue queue9 = new MessagingQueue(2, "sub9", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue9.activate();
        
         Queue queue10 = new MessagingQueue(2, "sub10", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue10.activate();
        
         //Bind on different conditions
        
         added = office1.addBinding(new Binding(condition1, queue8, false), false);
         assertTrue(added);
        
         added = office2.addBinding(new Binding(condition1, queue9, false), false);
         assertTrue(added);
        
         Condition condition2 = new SimpleCondition("condition2");
        
         added = office2.addBinding(new Binding(condition2, queue10, false), false);
         assertTrue(added);
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         //Now a couple of non clustered queues
        
         Queue queue11 = new MessagingQueue(1, "sub11", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue11.activate();
        
         Queue queue12 = new MessagingQueue(2, "sub12", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue12.activate();
        
         added = office1.addBinding(new Binding(condition1, queue11, false), false);
         assertTrue(added);
        
         added = office2.addBinding(new Binding(condition1, queue12, false), false);
         assertTrue(added);
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
         assertTrue(queues.contains(queue11));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
         assertTrue(queues.contains(queue12));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));       
        
         log.info("at end");   
         //Thread.sleep(10000000);
      }
      catch (Throwable e)
      {
         log.warn(e, e);
         throw e;
      }
      finally
      {
         if (office1 != null)
         {
           try
           {
             office1.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
        
         if (office2 != null)
         {
           try
           {
             office2.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
        
         if (office3 != null)
         {
           try
           {
             office3.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
View Full Code Here


   // Public ---------------------------------------------------------------------------------------

   public final void testSimpleJoinLeave() throws Throwable
   {
      log.info("testSimpleJoinLeave starts here");
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {        
         office1 = createClusteredPostOffice(1);

         office2 = createClusteredPostOffice(2);
                 
         office3 = createClusteredPostOffice(3);
        
         Thread.sleep(3000);
        
         Set nodes = office1.nodeIDView();        
         assertTrue(nodes.contains(new Integer(1)));
         assertTrue(nodes.contains(new Integer(2)));
         assertTrue(nodes.contains(new Integer(3)));
        
         nodes = office2.nodeIDView();        
         assertTrue(nodes.contains(new Integer(1)));
         assertTrue(nodes.contains(new Integer(2)));
         assertTrue(nodes.contains(new Integer(3)));
        
         nodes = office3.nodeIDView();        
         assertTrue(nodes.contains(new Integer(1)));
         assertTrue(nodes.contains(new Integer(2)));
         assertTrue(nodes.contains(new Integer(3)));
        
         office1.stop();
         office1 = null;
        
         office2.stop();
         office2 = null;
        
         office3.stop();
         office3 = null;
      }
      finally
      {
         if (office1 != null)
         {
            office1.stop();
         }
        
         if (office2 != null)
         {
            office2.stop();
         }
        
         if (office3 != null)
         {
            office3.stop();
         }        
      }
        
   }
View Full Code Here

        
   }
  
   public final void testGetFailoverMap() throws Throwable
   {
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {        
         office1 = createClusteredPostOffice(1);

         office2 = createClusteredPostOffice(2);
                 
         office3 = createClusteredPostOffice(3);
        
         Thread.sleep(3000);
        
         Map failoverMap1 = office1.getFailoverMap();
        
         Map failoverMap2 = office2.getFailoverMap();
        
         Map failoverMap3 = office3.getFailoverMap();
        
         assertEquals(failoverMap1, failoverMap2);
        
         assertEquals(failoverMap2, failoverMap3);
        
         office1.stop();
         office1 = null;
        
         office2.stop();
         office2 = null;
        
         office3.stop();
         office3 = null;
      }
      finally
      {
         if (office1 != null)
         {
            office1.stop();
         }
        
         if (office2 != null)
         {
            office2.stop();
         }
        
         if (office3 != null)
         {
            office3.stop();
         }        
      }
        
   }
View Full Code Here

        
   }
  
   public final void testClusteredBindUnbind() throws Throwable
   {
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {        
         // Start one office
        
         office1 = createClusteredPostOffice(1);
         
         // Add a couple of queues
        
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         boolean added = office1.addBinding(new Binding(condition1, queue1, false), false);
         assertTrue(added);
              
         Queue queue2 = new MessagingQueue(1, "sub2", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue2.activate();

         added = office1.addBinding(new Binding(condition1, queue2, false), false);
         assertTrue(added);
              
         // Start another office - make sure it picks up the bindings from the first node
        
         office2 = createClusteredPostOffice(2);
          
         // Should return all queues
         Collection queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
               
        
         // Add another queue on node 2
        
         Queue queue3 = new MessagingQueue(2, "sub3", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue3.activate();

         added = office2.addBinding(new Binding(condition1, queue3, false), false);
         assertTrue(added);
 
         // Make sure both nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
       

         // Add another binding on node 2
        
         Queue queue4 = new MessagingQueue(2, "sub4", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue4.activate();

         added = office2.addBinding(new Binding(condition1, queue4, false), false);
         assertTrue(added);
        
         // Make sure both nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(4, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(4, queues.size());
         assertTrue(queues.contains(queue1));
         assertTrue(queues.contains(queue2));
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         // Unbind binding 1 and binding 2
         Binding removed = office1.removeBinding(queue1.getName(), false);
         assertNotNull(removed);
                 
         removed = office1.removeBinding(queue2.getName(), false);
         assertNotNull(removed);
        
         // Make sure bindings are not longer available on either node
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
        
         // Add a third office
                 
         office3 = createClusteredPostOffice(3);
        
         // Maks sure it picks up the bindings
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
        
         // Add another binding on node 3
                 
         Queue queue5 = new MessagingQueue(3, "sub5", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue5.activate();
        
         added = office3.addBinding(new Binding(condition1, queue5, false), false);
         assertTrue(added);
        
         // Make sure all nodes pick it up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         // Add a durable and a non durable binding on node 1
        
         Queue queue6 = new MessagingQueue(1, "sub6", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue6.activate();
        
         added = office1.addBinding(new Binding(condition1, queue6, false), false);
         assertTrue(added);
        
         Queue queue7 = new MessagingQueue(1, "sub7", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue7.activate();
        
         added = office1.addBinding(new Binding(condition1, queue7, false), false);
         assertTrue(added);
        
        
         // Make sure all nodes pick them up
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(5, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
         assertTrue(queues.contains(queue7));
              
         // Stop office 1
         office1.stop();
 
         // Need to sleep since it may take some time for the view changed request to reach the
         // members which causes the bindings to be removed.
        
         Thread.sleep(3000);
        
         // All it's bindings should be removed from the other nodes, including durable
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue3));
         assertTrue(queues.contains(queue4));
         assertTrue(queues.contains(queue5));
        
         // Stop office 2
         office2.stop();
        
         Thread.sleep(3000);
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue5));
        
         // Restart office 1 and office 2
         office1.start();
        
         office2.start();
                 
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue5));
         assertTrue(queues.contains(queue6));

         // Stop all offices
        
         office1.stop();
         office2.stop();
         office3.stop();
        
         // Start them all
         office1.start();
         office2.start();
         office3.start();
        
         // Only the durable queue should survive
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(1, queues.size());
         assertTrue(queues.contains(queue6));      
        
         //Unbind it
        
         log.info("Removing queue6 binding");
         removed = office1.removeBinding(queue6.getName(), false);
         assertNotNull(removed);        
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertTrue(queues.isEmpty());    
        
        
         //Bind another few more clustered
                          
         Queue queue8 = new MessagingQueue(1, "sub8", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue8.activate();
        
         Queue queue9 = new MessagingQueue(2, "sub9", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue9.activate();
        
         Queue queue10 = new MessagingQueue(2, "sub10", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue10.activate();
        
         //Bind on different conditions
        
         added = office1.addBinding(new Binding(condition1, queue8, false), false);
         assertTrue(added);
        
         added = office2.addBinding(new Binding(condition1, queue9, false), false);
         assertTrue(added);
        
         Condition condition2 = new SimpleCondition("condition2");
        
         added = office2.addBinding(new Binding(condition2, queue10, false), false);
         assertTrue(added);
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
        
         //Now a couple of non clustered queues
        
         Queue queue11 = new MessagingQueue(1, "sub11", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue11.activate();
        
         Queue queue12 = new MessagingQueue(2, "sub12", channelIDManager.getID(), ms, pm, false, -1, null, false);
         queue12.activate();
        
         added = office1.addBinding(new Binding(condition1, queue11, false), false);
         assertTrue(added);
        
         added = office2.addBinding(new Binding(condition1, queue12, false), false);
         assertTrue(added);
        
         queues = office1.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
         assertTrue(queues.contains(queue11));
        
         queues = office2.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(3, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));
         assertTrue(queues.contains(queue12));
        
         queues = office3.getQueuesForCondition(condition1, false);
         assertNotNull(queues);
         assertEquals(2, queues.size());
         assertTrue(queues.contains(queue8));
         assertTrue(queues.contains(queue9));       
        
         log.info("at end");   
         //Thread.sleep(10000000);
      }
      catch (Throwable e)
      {
         log.warn(e, e);
         throw e;
      }
      finally
      {
         if (office1 != null)
         {
           try
           {
             office1.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
        
         if (office2 != null)
         {
           try
           {
             office2.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
        
         if (office3 != null)
         {
           try
           {
             office3.stop();
           }
           catch (Exception ignore)
           {            
           }
         }
View Full Code Here

      * e) close down all nodes
      * f) start all nodes
      * g) verify queue is not known
      * */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);
         office2 = createClusteredPostOffice(2);
         office3 = createClusteredPostOffice(3);        
                            
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
         
         Collection bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         //Now unbind same node
        
         Binding removed = office1.removeBinding(queue1.getName(), true);
         assertNotNull(removed);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         //Bind again different node
         Queue queue2 = new MessagingQueue(2, "sub2", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue2.activate();
        
         added = office2.addBinding(new Binding(condition1, queue2, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue2.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue2.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue2.getName());
        
         //Close down all nodes
        
         office1.stop();
        
         dumpNodeIDView(office2);
        
         office2.stop();
        
         dumpNodeIDView(office3);
        
         office3.stop();       
        
         //Start all nodes
        
         office1.start();
         office2.start();
         office3.start();
        
         Thread.sleep(3000);
        
         //Verify the binding is there
        
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue2.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue2.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue2.getName());
        
         //Unbind different node
        
         removed = office3.removeBinding(queue2.getName(), true);
         assertNotNull(removed);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());                                       
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

      * a) queue is known by cluster
      * b) bind all
      * c) verify nothing changes on cluster
      */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);
         office2 = createClusteredPostOffice(2);
         office3 = createClusteredPostOffice(3);        
                          
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
         
         Collection bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         //Bind again
         added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertFalse(added);
        
         Thread.sleep(3000);
         
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
                 
         //Now unbind same node
        
         Binding removed = office1.removeBinding(queue1.getName(), true);
         assertNotNull(removed);
        
         removed = office1.removeBinding(queue1.getName(), true);
         assertNull(removed);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());                                             
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

      * c) bind all
      * d) start other nodes
      * d) verify other nodes pick it up
      */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);      
                             
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
         
         office2 = createClusteredPostOffice(2);      
         office3 = createClusteredPostOffice(3);      
                 
         Thread.sleep(3000);
        
         Collection bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
              
         //Unbind
        
         Binding removed = office1.removeBinding(queue1.getName(), true);
         assertNotNull(removed);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());                                   
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

      * d) shutdown all nodes
      * e) startup all nodes
      * f) verify queue is on all nodes
      */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);      
                          
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
        
         office1.stop();
        
         //office1 = createClusteredPostOffice(1, "testgroup");
         office1.start();
         office2 = createClusteredPostOffice(2);
         office3 = createClusteredPostOffice(3);
         
         Thread.sleep(3000);
        
         Collection bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         //Now unbind same node
        
         Binding removed = office1.removeBinding(queue1.getName(), true);
         assertNotNull(removed);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());                 
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

    * e) start other nodes
    * f) verify queue is not known
    * g) restart first node, verify queue is now known
      * */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);
                                  
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, true, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
        
         office1.stop();
        
         office2 = createClusteredPostOffice(2);
         office3 = createClusteredPostOffice(3);
        
         Collection bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());
            
         office1.start();
        
         Thread.sleep(3000);
           
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         //Now unbind same node                 
        
         Binding removed = office1.removeBinding(queue1.getName(), true);
         assertNotNull(removed);

         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());                      
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

    * g) take down one node
    * h) bring it back up
    * i) make sure it has quuee again
      * */
    
      PostOffice office1 = null;
      PostOffice office2 = null;
      PostOffice office3 = null;
     
      try
      {                         
         office1 = createClusteredPostOffice(1);
         office2 = createClusteredPostOffice(2);
         office3 = createClusteredPostOffice(3);        
                          
         //Durable
         Queue queue1 = new MessagingQueue(1, "sub1", channelIDManager.getID(), ms, pm, false, -1, null, true);
         queue1.activate();

         Condition condition1 = new SimpleCondition("condition1");
        
         //Add all binding
         boolean added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
         
         Collection bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         office1.stop();
         office2.stop();
         office3.stop();
     
         office1.start();
         office2.start();
         office3.start();
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office2.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         bindings = office3.getAllBindings();        
         assertTrue(bindings.isEmpty());
        
         added = office1.addBinding(new Binding(condition1, queue1, true), true);
         assertTrue(added);
        
         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());
        
         office3.stop();

         Thread.sleep(3000);
         
         bindings = office1.getAllBindings();        
         assertEquals(2, bindings.size());
        
         office3.start();

         Thread.sleep(3000);
        
         bindings = office1.getAllBindings();        
         assertGotAll(1, bindings, queue1.getName());
        
         bindings = office2.getAllBindings();        
         assertGotAll(2, bindings, queue1.getName());
        
         bindings = office3.getAllBindings();        
         assertGotAll(3, bindings, queue1.getName());                                                        
      }
      finally
      {
        if (office1 != null)
        {
          try
          {
            office1.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office2 != null)
        {
          try
          {
            office2.stop();
          }
          catch (Exception ignore)
          {            
          }
        }

        if (office3 != null)
        {
          try
          {
            office3.stop();
          }        
          catch (Exception ignore)
          {            
          }
        }
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.contract.PostOffice

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.