[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