[jboss-cvs] JBoss Messaging SVN: r5398 - in trunk: src/main/org/jboss/messaging/core/config/impl and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 20 06:49:41 EST 2008


Author: timfox
Date: 2008-11-20 06:49:41 -0500 (Thu, 20 Nov 2008)
New Revision: 5398

Modified:
   trunk/build-messaging.xml
   trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
   trunk/src/main/org/jboss/messaging/core/postoffice/impl/BindingImpl.java
   trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
Log:
Some tweaks


Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml	2008-11-20 10:27:56 UTC (rev 5397)
+++ trunk/build-messaging.xml	2008-11-20 11:49:41 UTC (rev 5398)
@@ -384,7 +384,6 @@
 
    <target name="compile-core" depends="init">
       <mkdir dir="${build.src.dir}/org/jboss/messaging/core/filter/impl"/>
-      <echo message="${sun.javacc.lib}"/>
       <javacc target="${src.main.dir}/org/jboss/messaging/core/filter/impl/FilterParser.jj"
               outputdirectory="${build.src.dir}/org/jboss/messaging/core/filter/impl"
               javacchome="${sun.javacc.lib}"

Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2008-11-20 10:27:56 UTC (rev 5397)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2008-11-20 11:49:41 UTC (rev 5398)
@@ -48,6 +48,7 @@
  * This class allows the Configuration class to be configured via a config file.
  *
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ * @author <a href="tim.fox at jboss.com">Tim Fox</a>
  */
 public class FileConfiguration extends ConfigurationImpl
 {

Modified: trunk/src/main/org/jboss/messaging/core/postoffice/impl/BindingImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/impl/BindingImpl.java	2008-11-20 10:27:56 UTC (rev 5397)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/impl/BindingImpl.java	2008-11-20 11:49:41 UTC (rev 5398)
@@ -45,8 +45,13 @@
    
    private int hash;
    
-   private volatile long routings;
-      
+   private long routings;
+   
+   //TODO - currently we don't use weight - it's a placeholder for the future
+   private int weight = 1;
+   
+   private int routingCount;
+         
    public BindingImpl(final SimpleString address, final Queue queue, final boolean fanout)
    {
       this.address = address;
@@ -71,17 +76,29 @@
       return fanout;
    }
    
-   //TODO use better method for round-robin'ing - since this may wrap
-   public long getRoutings()
+   public synchronized long getRoutings()
    {
       return routings;
    }
    
-   public void incrementRoutings()
+   public synchronized void incrementRoutings()
    {
-      routings++;
+      routingCount++;
+      
+      if (routingCount >= weight)
+      {
+         routingCount = 0;
+         
+         routings++;
+      }
    }
-
+   
+   public synchronized void setWeight(final int weight)
+   {
+      this.weight = weight;      
+   }
+      
+   
    public boolean equals(Object other)
    {
       if (this == other)

Modified: trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java	2008-11-20 10:27:56 UTC (rev 5397)
+++ trunk/src/main/org/jboss/messaging/core/postoffice/impl/PostOfficeImpl.java	2008-11-20 11:49:41 UTC (rev 5398)
@@ -313,11 +313,12 @@
                   else
                   {
                      //We choose the queue with the lowest routings value  
+                     //This gives us a weighted round robin, where the weight
+                     //Can be determined from the number of consumers on the queue
                      long routings = binding.getRoutings();
                      
                      if (routings <= lowestRoutings || lowestRoutings == -1)
                      {                        
-                        //TODO - take num consumers into account
                         lowestRoutings = routings;
                         
                         theBinding = binding;




More information about the jboss-cvs-commits mailing list