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