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.
*