[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