You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/08/24 20:16:49 UTC
stratos git commit: Correct event publishing order when deploying an
app: fixing STRATOS-1529
Repository: stratos
Updated Branches:
refs/heads/master cab0d80fb -> fd7d1fb6a
Correct event publishing order when deploying an app: fixing STRATOS-1529
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/fd7d1fb6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/fd7d1fb6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/fd7d1fb6
Branch: refs/heads/master
Commit: fd7d1fb6ae479325d7994349c566500c7ea23d59
Parents: cab0d80
Author: Akila Perera <ra...@gmail.com>
Authored: Mon Aug 24 23:46:18 2015 +0530
Committer: Akila Perera <ra...@gmail.com>
Committed: Mon Aug 24 23:46:18 2015 +0530
----------------------------------------------------------------------
.../autoscaler/applications/ApplicationHolder.java | 15 +++++++--------
.../applications/topic/ApplicationBuilder.java | 4 ++--
.../stratos/autoscaler/util/AutoscalerUtil.java | 10 ++++------
.../messaging/domain/application/Applications.java | 13 ++++++++-----
.../stratos/messaging/domain/topology/Topology.java | 6 ------
5 files changed, 21 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd7d1fb6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationHolder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationHolder.java
index 47c3a8b..2176bbc 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationHolder.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationHolder.java
@@ -71,17 +71,16 @@ public class ApplicationHolder {
if (applications == null) {
synchronized (ApplicationHolder.class) {
if (applications == null) {
+ // create a new Applications object for autoscaler
+ applications = new Applications();
+
// retrieve from registry
if (log.isDebugEnabled()) {
- log.debug("Trying to retrieve applications from registry...");
+ log.debug("Loading applications persisted in registry...");
}
- applications = AutoscalerUtil.getApplications();
- if (applications == null) {
- if (log.isDebugEnabled()) {
- log.debug("No applications found in registry");
- }
- // create a new Applications object
- applications = new Applications();
+ applications = AutoscalerUtil.loadApplicationsFromRegistry(applications);
+ if (applications.getApplications().isEmpty()) {
+ log.info("No applications found in registry.");
}
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd7d1fb6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index 686e158..912a2f6 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -74,10 +74,10 @@ public class ApplicationBuilder {
log.debug("Handling application creation event: [application-id] " +
application.getUniqueIdentifier());
}
- AutoscalerCloudControllerClient.getInstance().createApplicationClusters(application.getUniqueIdentifier(),
- appClusterContexts);
ApplicationHolder.persistApplication(application);
ApplicationsEventPublisher.sendApplicationCreatedEvent(application);
+ AutoscalerCloudControllerClient.getInstance().createApplicationClusters(application.getUniqueIdentifier(),
+ appClusterContexts);
}
public static ApplicationInstance handleApplicationInstanceCreatedEvent(String appId,
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd7d1fb6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 24a4e07..6c4dc19 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -80,19 +80,17 @@ public class AutoscalerUtil {
return Holder.INSTANCE;
}
- public static Applications getApplications() {
-
- Applications applications;
+ public static Applications loadApplicationsFromRegistry(Applications applications) {
+ if (applications == null){
+ throw new RuntimeException("Applications instance is null");
+ }
String[] appResourcePaths = RegistryManager.getInstance().getApplicationResourcePaths();
if (appResourcePaths != null) {
- applications = new Applications();
for (String appResourcePath : appResourcePaths) {
applications.addApplication(getApplicationFromPath(appResourcePath));
}
-
return applications;
}
-
return null;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd7d1fb6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Applications.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Applications.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Applications.java
index 82ef5e2..4d366f1 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Applications.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Applications.java
@@ -27,6 +27,9 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+/*
+ DO NOT make this a singleton
+ */
public class Applications implements Serializable {
private static Log log = LogFactory.getLog(Applications.class);
@@ -43,23 +46,23 @@ public class Applications implements Serializable {
this.applicationMap.put(application.getUniqueIdentifier(), application);
}
- public Application getApplication(String appId) {
+ public synchronized Application getApplication(String appId) {
return this.getApplications().get(appId);
}
- public boolean isInitialized() {
+ public synchronized boolean isInitialized() {
return initialized;
}
- public void setInitialized(boolean initialized) {
+ public synchronized void setInitialized(boolean initialized) {
this.initialized = initialized;
}
- public boolean applicationExists(String appId) {
+ public synchronized boolean applicationExists(String appId) {
return this.getApplications().containsKey(appId);
}
- public Map<String, Application> getApplications() {
+ public synchronized Map<String, Application> getApplications() {
return applicationMap;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd7d1fb6/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
index 2f929bf..9f641ec 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
@@ -53,12 +53,6 @@ public class Topology implements Serializable {
this.serviceMap.put(service.getServiceName(), service);
}
- public synchronized void addServices(Collection<Service> services) {
- for (Service service : services) {
- addService(service);
- }
- }
-
public void removeService(Service service) {
this.serviceMap.remove(service.getServiceName());
TopologyLockHierarchy.getInstance().removeTopologyLockForService(service.getServiceName());