[jboss-cvs] JBoss Messaging SVN: r2775 - in trunk: tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 12 19:12:17 EDT 2007


Author: timfox
Date: 2007-06-12 19:12:17 -0400 (Tue, 12 Jun 2007)
New Revision: 2775

Modified:
   trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RoundRobinRouter.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RoundRobinRouterTest.java
Log:
Added extra test for non clustered queue in RoundRobinRouter


Modified: trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RoundRobinRouter.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RoundRobinRouter.java	2007-06-12 22:43:54 UTC (rev 2774)
+++ trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RoundRobinRouter.java	2007-06-12 23:12:17 UTC (rev 2775)
@@ -35,12 +35,8 @@
 
 /**
  * 
- * This router first favours the failed over queue (if there is one) TODO revisit this
+ * This router round robins between the queues
  * 
- * Then it will round robin between the non queues.
- * 
- * FIXME - none of the new failed over functionality has been tested!!
- * 
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
  * @version <tt>$Revision: 2319 $</tt>

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RoundRobinRouterTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RoundRobinRouterTest.java	2007-06-12 22:43:54 UTC (rev 2774)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RoundRobinRouterTest.java	2007-06-12 23:12:17 UTC (rev 2775)
@@ -28,6 +28,7 @@
 import org.jboss.messaging.core.Delivery;
 import org.jboss.messaging.core.DeliveryObserver;
 import org.jboss.messaging.core.Filter;
+import org.jboss.messaging.core.Queue;
 import org.jboss.messaging.core.Receiver;
 import org.jboss.messaging.core.SimpleDelivery;
 import org.jboss.messaging.core.message.Message;
@@ -81,19 +82,19 @@
    {
       RoundRobinRouter dr = new RoundRobinRouter();
       
-      ClusteredQueue queue1 = new SimpleQueue(true);
+      ClusteredQueue queue1 = new SimpleClusteredQueue(true);
       dr.add(queue1);
       
       assertEquals(1, dr.getNumberOfReceivers());
       assertEquals(1, dr.getQueues().size());
       
-      ClusteredQueue queue2 = new SimpleQueue(false);
+      ClusteredQueue queue2 = new SimpleClusteredQueue(false);
       dr.add(queue2);
       
       assertEquals(2, dr.getNumberOfReceivers());
       assertEquals(2, dr.getQueues().size());
       
-      ClusteredQueue queue3 = new SimpleQueue(false);
+      ClusteredQueue queue3 = new SimpleClusteredQueue(false);
       dr.add(queue3);
       
       assertEquals(3, dr.getNumberOfReceivers());
@@ -121,7 +122,7 @@
    {
       RoundRobinRouter dr = new RoundRobinRouter();
                     
-      ClusteredQueue queue = new SimpleQueue(true);
+      ClusteredQueue queue = new SimpleClusteredQueue(true);
       
       SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -136,12 +137,12 @@
       sendAndCheck(dr, receiver1);
    }
    
-   //The router has only one non local queues
-   public void testRouterOnlyOneNonLocal() throws Exception
+   //The router has only one non local clustered queue
+   public void testRouterOnlyOneNonLocalClustered() throws Exception
    {
       RoundRobinRouter dr = new RoundRobinRouter();
                     
-      ClusteredQueue queue = new SimpleQueue(false);
+      ClusteredQueue queue = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -156,12 +157,32 @@
       sendAndCheck(dr, receiver1);              
    }
    
+   //The router has only one non local non clustered queue
+   public void testRouterOnlyOneNonLocalNonClustered() throws Exception
+   {
+      RoundRobinRouter dr = new RoundRobinRouter();
+                    
+      ClusteredQueue queue = new SimpleClusteredQueue(false);
+      
+      SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
+      
+      queue.add(receiver1);
+      
+      dr.add(queue);
+      
+      sendAndCheck(dr, receiver1);
+      
+      sendAndCheck(dr, receiver1);
+      
+      sendAndCheck(dr, receiver1);              
+   }
+   
    //The router has multiple non local queues and no local queue
    public void testRouterMultipleNonLocal() throws Exception
    {
       RoundRobinRouter dr = new RoundRobinRouter();
                    
-      ClusteredQueue remote1 = new SimpleQueue(false);
+      ClusteredQueue remote1 = new SimpleClusteredQueue(false);
      
       SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -170,7 +191,7 @@
       dr.add(remote1);
       
       
-      ClusteredQueue remote2 = new SimpleQueue(false);
+      ClusteredQueue remote2 = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -179,7 +200,7 @@
       dr.add(remote2);
       
       
-      ClusteredQueue remote3 = new SimpleQueue(false);
+      ClusteredQueue remote3 = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -206,7 +227,7 @@
    {
       RoundRobinRouter dr = new RoundRobinRouter();
                              
-      ClusteredQueue remote1 = new SimpleQueue(false);
+      ClusteredQueue remote1 = new SimpleClusteredQueue(false);
      
       SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -214,7 +235,7 @@
       
       dr.add(remote1);
       
-      ClusteredQueue queue = new SimpleQueue(true);
+      ClusteredQueue queue = new SimpleClusteredQueue(true);
       
       SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -238,7 +259,7 @@
    {
       RoundRobinRouter dr = new RoundRobinRouter();            
                   
-      ClusteredQueue remote1 = new SimpleQueue(false);
+      ClusteredQueue remote1 = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver1 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -247,7 +268,7 @@
       dr.add(remote1);
       
       
-      ClusteredQueue remote2 = new SimpleQueue(false);
+      ClusteredQueue remote2 = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver2 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -256,7 +277,7 @@
       dr.add(remote2);
       
       
-      ClusteredQueue remote3 = new SimpleQueue(false);
+      ClusteredQueue remote3 = new SimpleClusteredQueue(false);
       
       SimpleReceiver receiver3 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -265,7 +286,7 @@
       dr.add(remote3);
       
       
-      ClusteredQueue queue = new SimpleQueue(true);
+      ClusteredQueue queue = new SimpleClusteredQueue(true);
             
       SimpleReceiver receiver4 = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
       
@@ -293,6 +314,7 @@
       sendAndCheck(dr, receiver1);
    }
    
+   
    private long nextId;
    
    private void sendAndCheck(ClusterRouter router, SimpleReceiver receiver) throws Exception
@@ -327,36 +349,12 @@
    
    // Inner classes -------------------------------------------------
    
-   class SimpleQueue implements ClusteredQueue
+   class SimpleNonClusteredQueue implements Queue
    {
-      private boolean local;
-      
       private Receiver receiver;
       
-      private List refs = new ArrayList();
-        
-      SimpleQueue(boolean local)
-      {
-         this.local = local;
-      }
+      private List refs = new ArrayList();       
 
-      public int getNodeId()
-      {
-         // TODO Auto-generated method stub
-         return 0;
-      }
-
-      public QueueStats getStats()
-      {
-         // TODO Auto-generated method stub
-         return null;
-      }
-
-      public boolean isLocal()
-      {
-         return local;
-      }
-
       public Filter getFilter()
       {
          // TODO Auto-generated method stub
@@ -594,9 +592,34 @@
       {
          // TODO Auto-generated method stub
          return 0;
+      }   	
+   }
+   
+   class SimpleClusteredQueue extends SimpleNonClusteredQueue implements ClusteredQueue
+   {
+      private boolean local;
+           
+      SimpleClusteredQueue(boolean local)
+      {
+         this.local = local;
       }
 
-      
+      public int getNodeId()
+      {
+         // TODO Auto-generated method stub
+         return 0;
+      }
+
+      public QueueStats getStats()
+      {
+         // TODO Auto-generated method stub
+         return null;
+      }
+
+      public boolean isLocal()
+      {
+         return local;
+      }
    }
    
 




More information about the jboss-cvs-commits mailing list