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

stratos git commit: Adding logic to reload load balancer extension configuration on domain mapping events

Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x 0db74156b -> 0d8059056


Adding logic to reload load balancer extension configuration on domain mapping events


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

Branch: refs/heads/stratos-4.1.x
Commit: 0d8059056869813c3b3035bf35961dacc0e5e516
Parents: 0db7415
Author: Imesh Gunaratne <im...@apache.org>
Authored: Wed Oct 14 14:36:34 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Wed Oct 14 14:37:19 2015 +0530

----------------------------------------------------------------------
 ...alancerCommonDomainMappingEventReceiver.java | 12 +++++++-
 ...LoadBalancerCommonTopologyEventReceiver.java |  9 +++---
 .../extension/api/LoadBalancerExtension.java    | 32 +++++++++++++++++---
 3 files changed, 44 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/0d805905/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonDomainMappingEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonDomainMappingEventReceiver.java b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonDomainMappingEventReceiver.java
index a075d32..a51ed22 100644
--- a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonDomainMappingEventReceiver.java
+++ b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonDomainMappingEventReceiver.java
@@ -45,8 +45,18 @@ public class LoadBalancerCommonDomainMappingEventReceiver extends DomainMappingE
         addEventListeners();
     }
 
-    private void addEventListeners() {
+    public LoadBalancerCommonDomainMappingEventReceiver(TopologyProvider topologyProvider, boolean addListeners) {
+        this.topologyProvider = topologyProvider;
+        if(addListeners) {
+            addEventListeners();
+        }
+    }
 
+    /**
+     * Add default event listeners for updating the topology with
+     * domain mapping events.
+     */
+    public void addEventListeners() {
         addEventListener(new DomainMappingAddedEventListener() {
             @Override
             protected void onEvent(Event event) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/0d805905/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 f5d1ab5..4c9b5f1 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,10 +48,9 @@ public class LoadBalancerCommonTopologyEventReceiver extends TopologyEventReceiv
         addEventListeners();
     }
 
-    public LoadBalancerCommonTopologyEventReceiver(TopologyProvider topologyProvider,
-                                                   boolean addListener) {
+    public LoadBalancerCommonTopologyEventReceiver(TopologyProvider topologyProvider, boolean addListeners) {
         this.topologyProvider = topologyProvider;
-        if(addListener) {
+        if(addListeners) {
             addEventListeners();
         }
     }
@@ -110,8 +109,10 @@ public class LoadBalancerCommonTopologyEventReceiver extends TopologyEventReceiv
         return initialized;
     }
 
+    /**
+     * Add default event listeners for updating the topology on topology events
+     */
     public void addEventListeners() {
-
         addEventListener(new CompleteTopologyEventListener() {
             @Override
             protected void onEvent(Event event) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/0d805905/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 6999cb1..862d28a 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
@@ -32,6 +32,8 @@ import org.apache.stratos.load.balancer.common.statistics.notifier.LoadBalancerS
 import org.apache.stratos.load.balancer.common.topology.TopologyProvider;
 import org.apache.stratos.load.balancer.extension.api.exception.LoadBalancerExtensionException;
 import org.apache.stratos.messaging.event.Event;
+import org.apache.stratos.messaging.listener.domain.mapping.DomainMappingAddedEventListener;
+import org.apache.stratos.messaging.listener.domain.mapping.DomainMappingRemovedEventListener;
 import org.apache.stratos.messaging.listener.topology.*;
 import org.apache.stratos.messaging.message.filter.topology.TopologyClusterFilter;
 import org.apache.stratos.messaging.message.filter.topology.TopologyMemberFilter;
@@ -112,11 +114,11 @@ public class LoadBalancerExtension {
      * @param topologyProvider topology provider instance
      */
     private void startTopologyEventReceiver(ExecutorService executorService, TopologyProvider topologyProvider) {
-        //Enforcing the listeners order in order execute extension listener later
+        // Enforcing the listener order in order execute extension listener later
         topologyEventReceiver = new LoadBalancerCommonTopologyEventReceiver(topologyProvider, false);
-        //Add load-balancer extension event listener
+        // Add load-balancer extension event listener
         addTopologyEventListeners(topologyEventReceiver);
-        //Add Topology Provider event listener
+        // Add default topology provider event listeners
         topologyEventReceiver.addEventListeners();
         topologyEventReceiver.setExecutorService(executorService);
         topologyEventReceiver.execute();
@@ -149,7 +151,12 @@ public class LoadBalancerExtension {
      * @param topologyProvider topology receiver instance
      */
     private void startDomainMappingEventReceiver(ExecutorService executorService, TopologyProvider topologyProvider) {
-        domainMappingEventReceiver = new LoadBalancerCommonDomainMappingEventReceiver(topologyProvider);
+        // Enforcing the listener order in order execute extension listener later
+        domainMappingEventReceiver = new LoadBalancerCommonDomainMappingEventReceiver(topologyProvider, false);
+        // Add extension event listeners
+        addDomainMappingsEventListeners(domainMappingEventReceiver);
+        // Add default domain mapping event listeners
+        domainMappingEventReceiver.addEventListeners();
         domainMappingEventReceiver.setExecutorService(executorService);
         domainMappingEventReceiver.execute();
         if (log.isInfoEnabled()) {
@@ -157,6 +164,23 @@ public class LoadBalancerExtension {
         }
     }
 
+    private void addDomainMappingsEventListeners(final LoadBalancerCommonDomainMappingEventReceiver
+                                                         domainMappingEventReceiver) {
+        domainMappingEventReceiver.addEventListener(new DomainMappingAddedEventListener() {
+            @Override
+            protected void onEvent(Event event) {
+                reloadConfiguration();
+            }
+        });
+
+        domainMappingEventReceiver.addEventListener(new DomainMappingRemovedEventListener() {
+            @Override
+            protected void onEvent(Event event) {
+                reloadConfiguration();
+            }
+        });
+    }
+
     /**
      * Start application signup event receiver thread.
      *