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();
}