You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/10/13 13:49:49 UTC

stratos git commit: Enforcing the order as building TopologyProvider first and then configuring load balancer based on observer model

Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x e7dd20cab -> 68bf5b2ee


Enforcing the order as building TopologyProvider first and then configuring load balancer based on observer model


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/68bf5b2e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/68bf5b2e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/68bf5b2e

Branch: refs/heads/stratos-4.1.x
Commit: 68bf5b2eea7327cdd78323340b3cf0ffeeb6ec4d
Parents: e7dd20c
Author: reka <rt...@gmail.com>
Authored: Tue Oct 13 17:18:47 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Tue Oct 13 17:19:31 2015 +0530

----------------------------------------------------------------------
 .../LoadBalancerCommonTopologyEventReceiver.java          | 10 +++++++++-
 .../balancer/extension/api/LoadBalancerExtension.java     |  7 +++++--
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/68bf5b2e/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
index 534bc38..f5d1ab5 100644
--- a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
+++ b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
@@ -48,6 +48,14 @@ public class LoadBalancerCommonTopologyEventReceiver extends TopologyEventReceiv
         addEventListeners();
     }
 
+    public LoadBalancerCommonTopologyEventReceiver(TopologyProvider topologyProvider,
+                                                   boolean addListener) {
+        this.topologyProvider = topologyProvider;
+        if(addListener) {
+            addEventListeners();
+        }
+    }
+
     public void execute() {
         super.execute();
         if (log.isInfoEnabled()) {
@@ -102,7 +110,7 @@ public class LoadBalancerCommonTopologyEventReceiver extends TopologyEventReceiv
         return initialized;
     }
 
-    private void addEventListeners() {
+    public void addEventListeners() {
 
         addEventListener(new CompleteTopologyEventListener() {
             @Override

http://git-wip-us.apache.org/repos/asf/stratos/blob/68bf5b2e/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
index fbb0a21..6999cb1 100644
--- a/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
+++ b/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java
@@ -112,9 +112,12 @@ public class LoadBalancerExtension {
      * @param topologyProvider topology provider instance
      */
     private void startTopologyEventReceiver(ExecutorService executorService, TopologyProvider topologyProvider) {
-
-        topologyEventReceiver = new LoadBalancerCommonTopologyEventReceiver(topologyProvider);
+        //Enforcing the listeners order in order execute extension listener later
+        topologyEventReceiver = new LoadBalancerCommonTopologyEventReceiver(topologyProvider, false);
+        //Add load-balancer extension event listener
         addTopologyEventListeners(topologyEventReceiver);
+        //Add Topology Provider event listener
+        topologyEventReceiver.addEventListeners();
         topologyEventReceiver.setExecutorService(executorService);
         topologyEventReceiver.execute();
         if (log.isInfoEnabled()) {