You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2015/12/24 15:56:11 UTC
[08/14] stratos git commit: making ApplicationsEventReceiver
singleton and fixing references in components
making ApplicationsEventReceiver singleton and fixing references in components
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/f302906a
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/f302906a
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/f302906a
Branch: refs/heads/master
Commit: f302906abd4218673dbe648fc8254fcdf9c2ae3b
Parents: 27ae4ba
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Dec 2 18:48:14 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Thu Dec 24 20:05:04 2015 +0530
----------------------------------------------------------------------
.../CloudControllerServiceComponent.java | 4 +--
.../application/ApplicationEventReceiver.java | 24 ++++++-------
.../extension/api/LoadBalancerExtension.java | 6 ++--
.../StratosManagerServiceComponent.java | 4 +--
.../StratosManagerApplicationEventReceiver.java | 19 +++++-----
.../application/ApplicationsEventReceiver.java | 37 ++++++++++++++------
.../MetadataApplicationEventReceiver.java | 31 ++++++++--------
.../service/registry/MetadataApiRegistry.java | 8 ++---
8 files changed, 75 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
index 74d36e7..c4c0336 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
@@ -146,8 +146,8 @@ public class CloudControllerServiceComponent {
private void executeCoordinatorTasks() {
applicationEventReceiver = new ApplicationEventReceiver();
- applicationEventReceiver.setExecutorService(executorService);
- applicationEventReceiver.execute();
+// applicationEventReceiver.setExecutorService(executorService);
+// applicationEventReceiver.execute();
if (log.isInfoEnabled()) {
log.info("Application event receiver thread started");
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationEventReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationEventReceiver.java
index bd35e25..8da5575 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationEventReceiver.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationEventReceiver.java
@@ -37,20 +37,20 @@ import java.util.concurrent.ExecutorService;
public class ApplicationEventReceiver {
private static final Log log = LogFactory.getLog(ApplicationEventReceiver.class);
private ApplicationsEventReceiver applicationsEventReceiver;
- private ExecutorService executorService;
+ // private ExecutorService executorService;
public ApplicationEventReceiver() {
- this.applicationsEventReceiver = new ApplicationsEventReceiver();
+ this.applicationsEventReceiver = ApplicationsEventReceiver.getInstance();
addEventListeners();
}
- public void execute() {
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application event receiver thread started");
- }
- applicationsEventReceiver.setExecutorService(executorService);
- applicationsEventReceiver.execute();
- }
+// public void execute() {
+// if (log.isInfoEnabled()) {
+// log.info("Cloud controller application event receiver thread started");
+// }
+// applicationsEventReceiver.setExecutorService(executorService);
+// applicationsEventReceiver.execute();
+// }
private void addEventListeners() {
applicationsEventReceiver.addEventListener(new ApplicationInstanceTerminatedEventListener() {
@@ -76,7 +76,7 @@ public class ApplicationEventReceiver {
});
}
- public void setExecutorService(ExecutorService executorService) {
- this.executorService = executorService;
- }
+// public void setExecutorService(ExecutorService executorService) {
+// this.executorService = executorService;
+// }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/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 c2ee077..ec1ddbc 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
@@ -150,9 +150,9 @@ public class LoadBalancerExtension {
}
private void startApplicationEventReceiver(ExecutorService executorService) {
- applicationsEventReceiver = new ApplicationsEventReceiver();
- applicationsEventReceiver.setExecutorService(executorService);
- applicationsEventReceiver.execute();
+ applicationsEventReceiver = ApplicationsEventReceiver.getInstance();
+// applicationsEventReceiver.setExecutorService(executorService);
+// applicationsEventReceiver.execute();
if (log.isInfoEnabled()) {
log.info("Application event receiver thread started");
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
index ed45852..573c19d 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
@@ -220,8 +220,8 @@ public class StratosManagerServiceComponent {
*/
private void initializeApplicationEventReceiver() {
applicationEventReceiver = new StratosManagerApplicationEventReceiver();
- applicationEventReceiver.setExecutorService(executorService);
- applicationEventReceiver.execute();
+// applicationEventReceiver.setExecutorService(executorService);
+// applicationEventReceiver.execute();
}
/**
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerApplicationEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerApplicationEventReceiver.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerApplicationEventReceiver.java
index b6ce035..ff85c83 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerApplicationEventReceiver.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerApplicationEventReceiver.java
@@ -26,23 +26,22 @@ import org.apache.stratos.messaging.message.receiver.application.ApplicationsEve
/**
* Stratos manager application event receiver.
*/
-public class StratosManagerApplicationEventReceiver extends ApplicationsEventReceiver {
+public class StratosManagerApplicationEventReceiver {
private static final Log log = LogFactory.getLog(StratosManagerApplicationEventReceiver.class);
public StratosManagerApplicationEventReceiver() {
addEventListeners();
-
}
- @Override
- public void execute() {
- super.execute();
-
- if (log.isInfoEnabled()) {
- log.info("Stratos manager application event receiver thread started");
- }
- }
+// @Override
+// public void execute() {
+// super.execute();
+//
+// if (log.isInfoEnabled()) {
+// log.info("Stratos manager application event receiver thread started");
+// }
+// }
private void addEventListeners() {
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java
index 9306ad2..e94bafd 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java
@@ -20,27 +20,44 @@ package org.apache.stratos.messaging.message.receiver.application;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.threading.StratosThreadPool;
import org.apache.stratos.messaging.broker.publish.EventPublisher;
import org.apache.stratos.messaging.broker.publish.EventPublisherPool;
import org.apache.stratos.messaging.broker.subscribe.EventSubscriber;
import org.apache.stratos.messaging.event.initializer.CompleteApplicationsRequestEvent;
import org.apache.stratos.messaging.listener.EventListener;
+import org.apache.stratos.messaging.message.receiver.StratosEventReceiver;
import org.apache.stratos.messaging.util.MessagingUtil;
import java.util.concurrent.ExecutorService;
-public class ApplicationsEventReceiver {
+public class ApplicationsEventReceiver extends StratosEventReceiver{
private static final Log log = LogFactory.getLog(ApplicationsEventReceiver.class);
private ApplicationsEventMessageDelegator messageDelegator;
private ApplicationsEventMessageListener messageListener;
private EventSubscriber eventSubscriber;
- private ExecutorService executorService;
+ private static volatile ApplicationsEventReceiver instance;
- public ApplicationsEventReceiver() {
+ private ApplicationsEventReceiver() {
+ // TODO: make pool size configurable
+ this.executorService = StratosThreadPool.getExecutorService("application-event-receiver", 100);
ApplicationsEventMessageQueue messageQueue = new ApplicationsEventMessageQueue();
this.messageDelegator = new ApplicationsEventMessageDelegator(messageQueue);
this.messageListener = new ApplicationsEventMessageListener(messageQueue);
+ execute();
+ }
+
+ public static ApplicationsEventReceiver getInstance () {
+ if (instance == null) {
+ synchronized (ApplicationsEventReceiver.class) {
+ if (instance == null) {
+ instance = new ApplicationsEventReceiver();
+ }
+ }
+ }
+
+ return instance;
}
public void addEventListener(EventListener eventListener) {
@@ -101,11 +118,11 @@ public class ApplicationsEventReceiver {
});
}
- public ExecutorService getExecutorService() {
- return executorService;
- }
-
- public void setExecutorService(ExecutorService executorService) {
- this.executorService = executorService;
- }
+// public ExecutorService getExecutorService() {
+// return executorService;
+// }
+//
+// public void setExecutorService(ExecutorService executorService) {
+// this.executorService = executorService;
+// }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/MetadataApplicationEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/MetadataApplicationEventReceiver.java b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/MetadataApplicationEventReceiver.java
index ca00c3c..e1bf929 100644
--- a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/MetadataApplicationEventReceiver.java
+++ b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/MetadataApplicationEventReceiver.java
@@ -40,11 +40,12 @@ import java.util.concurrent.ExecutorService;
public class MetadataApplicationEventReceiver {
private static final Log log = LogFactory.getLog(MetadataApplicationEventReceiver.class);
private ApplicationsEventReceiver applicationsEventReceiver;
- private ExecutorService executorService;
+ //private ExecutorService executorService;
public MetadataApplicationEventReceiver() {
- this.applicationsEventReceiver = new ApplicationsEventReceiver();
- executorService = StratosThreadPool.getExecutorService(Constants.METADATA_SERVICE_THREAD_POOL_ID, 20);
+ this.applicationsEventReceiver = ApplicationsEventReceiver.getInstance();
+ //executorService = StratosThreadPool.getExecutorService(Constants
+ // .METADATA_SERVICE_THREAD_POOL_ID, 20);
addEventListeners();
}
@@ -65,19 +66,19 @@ public class MetadataApplicationEventReceiver {
if (log.isDebugEnabled()) {
log.debug("Metadata service READ WRITE locks initialized on complete applications event.");
}
- terminate();
+ //terminate();
}
});
}
- public void execute() {
- applicationsEventReceiver.setExecutorService(getExecutorService());
- applicationsEventReceiver.execute();
-
- if (log.isInfoEnabled()) {
- log.info("Metadata service application receiver started.");
- }
- }
+// public void execute() {
+// applicationsEventReceiver.setExecutorService(getExecutorService());
+// applicationsEventReceiver.execute();
+//
+// if (log.isInfoEnabled()) {
+// log.info("Metadata service application receiver started.");
+// }
+// }
public void terminate() {
applicationsEventReceiver.terminate();
@@ -86,8 +87,8 @@ public class MetadataApplicationEventReceiver {
}
}
- public ExecutorService getExecutorService() {
- return executorService;
- }
+ // public ExecutorService getExecutorService() {
+// return executorService;
+// }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/f302906a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java
index 47fc600..abb21ba 100644
--- a/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java
+++ b/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java
@@ -59,7 +59,7 @@ public class MetadataApiRegistry implements DataStore {
// metadataTopologyEventReceiver.execute();
metadataApplicationEventReceiver = new MetadataApplicationEventReceiver();
- metadataApplicationEventReceiver.execute();
+// metadataApplicationEventReceiver.execute();
}
/**
@@ -421,7 +421,7 @@ public class MetadataApiRegistry implements DataStore {
// metadataTopologyEventReceiver.terminate();
// }
- public void stopApplicationReceiver() {
- metadataApplicationEventReceiver.terminate();
- }
+// public void stopApplicationReceiver() {
+// metadataApplicationEventReceiver.terminate();
+// }
}