You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2011/04/19 07:11:35 UTC
svn commit: r1094853 - in
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms:
WeightedRoundRobin.java WeightedRoundRobinView.java
WeightedRoundRobinViewMBean.java
Author: supun
Date: Tue Apr 19 05:11:35 2011
New Revision: 1094853
URL: http://svn.apache.org/viewvc?rev=1094853&view=rev
Log:
adding functionality to view the current weights through JMX
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobin.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinView.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinViewMBean.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobin.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobin.java?rev=1094853&r1=1094852&r2=1094853&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobin.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobin.java Tue Apr 19 05:11:35 2011
@@ -339,9 +339,26 @@ public class WeightedRoundRobin implemen
state.weight = weight;
calculate();
+
+ reset(null);
} finally {
writeLock.unlock();
}
}
+ public int[] getWeights() {
+ int weights[] = new int[endpointStates.length];
+
+ for (int i = 0; i < weights.length; i++) {
+ weights[i] = 1;
+ }
+
+ for (EndpointState state : endpointStates) {
+ if (state.getEndpointPosition() < weights.length && state.getEndpointPosition() >= 0) {
+ weights[state.getEndpointPosition()] = state.getWeight();
+ }
+ }
+
+ return weights;
+ }
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinView.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinView.java?rev=1094853&r1=1094852&r2=1094853&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinView.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinView.java Tue Apr 19 05:11:35 2011
@@ -29,4 +29,8 @@ public class WeightedRoundRobinView impl
public void changeWeight(int pos, int weight) {
algorithm.changeWeight(pos, weight);
}
+
+ public int[] getWeights() {
+ return algorithm.getWeights();
+ }
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinViewMBean.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinViewMBean.java?rev=1094853&r1=1094852&r2=1094853&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinViewMBean.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/WeightedRoundRobinViewMBean.java Tue Apr 19 05:11:35 2011
@@ -21,4 +21,6 @@ package org.apache.synapse.endpoints.alg
public interface WeightedRoundRobinViewMBean {
void changeWeight(int pos, int weight);
+
+ int[] getWeights();
}