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 2014/12/03 10:09:03 UTC
[3/5] stratos git commit: renaming events with instance and adding
apis for undeployment of policy
renaming events with instance and adding apis for undeployment of policy
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5f8b31ce
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5f8b31ce
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5f8b31ce
Branch: refs/heads/master
Commit: 5f8b31cedad8a24bc28a83e722d22fa018d88d30
Parents: eb38f73
Author: reka <rt...@gmail.com>
Authored: Wed Dec 3 12:32:54 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Wed Dec 3 13:36:56 2014 +0530
----------------------------------------------------------------------
.../autoscaler/api/AutoScalerServiceImpl.java | 6 +-
.../applications/topic/ApplicationBuilder.java | 79 ++++++++++++++++++--
.../topic/ApplicationsEventPublisher.java | 12 +--
.../status/processor/StatusChecker.java | 2 +-
.../group/GroupStatusTerminatedProcessor.java | 2 +-
.../group/GroupStatusTerminatingProcessor.java | 4 +-
.../application/ApplicationTopicReceiver.java | 28 +++----
.../messaging/topology/TopologyBuilder.java | 5 +-
.../client/CloudControllerServiceClient.java | 4 +-
.../ApplicationInactivatedEvent.java | 46 ------------
.../ApplicationInstanceInactivatedEvent.java | 46 ++++++++++++
.../ApplicationInstanceTerminatedEvent.java | 48 ++++++++++++
.../ApplicationInstanceTerminatingEvent.java | 48 ++++++++++++
.../ApplicationTerminatedEvent.java | 48 ------------
.../ApplicationTerminatingEvent.java | 48 ------------
.../ApplicationInactivatedMessageProcessor.java | 10 +--
.../ApplicationTerminatedMessageProcessor.java | 14 ++--
.../ApplicationTerminatingMessageProcessor.java | 10 +--
18 files changed, 261 insertions(+), 199 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index 977844d..5593e1f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -143,10 +143,8 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface {
}
@Override
- public boolean undeployDeploymentPolicy(String deploymentPolicyName) {
-
- //PolicyManager.getInstance().undeployDeploymentPolicy(deploymentPolicyName);
- return false;
+ public boolean undeployDeploymentPolicy(String applicationId) {
+ return ApplicationBuilder.handleApplicationPolicyUndeployed(applicationId);
}
@Override
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/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 5c9c873..f2d62c6 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
@@ -24,10 +24,12 @@ import org.apache.stratos.autoscaler.context.AutoscalerContext;
import org.apache.stratos.autoscaler.applications.ApplicationHolder;
import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
import org.apache.stratos.autoscaler.client.CloudControllerClient;
+import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
import org.apache.stratos.messaging.domain.applications.*;
import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
+import org.apache.stratos.messaging.domain.instance.ClusterInstance;
import org.apache.stratos.messaging.domain.instance.GroupInstance;
import org.apache.stratos.messaging.domain.topology.Cluster;
import org.apache.stratos.messaging.domain.topology.Service;
@@ -204,7 +206,72 @@ public class ApplicationBuilder {
}
}
- public static void handleApplicationTerminatedEvent(String appId) {
+ public static boolean handleApplicationPolicyUndeployed(String appId) {
+ if (log.isDebugEnabled()) {
+ log.debug("Handling application terminating event: [application-id] " + appId);
+ }
+ Set<ClusterDataHolder> clusterData;
+ ApplicationHolder.acquireWriteLock();
+ try {
+ Applications applications = ApplicationHolder.getApplications();
+ Application application = applications.getApplication(appId);
+ //update the status of the Group
+ if (application == null) {
+ log.warn(String.format("Application does not exist: [application-id] %s",
+ appId));
+ return false;
+ }
+ clusterData = application.getClusterDataRecursively();
+ Collection<ApplicationInstance> context = application.
+ getInstanceIdToInstanceContextMap().values();
+ ApplicationStatus status = ApplicationStatus.Terminating;
+ for (ApplicationInstance context1 : context) {
+ if (context1.isStateTransitionValid(status)) {
+ //setting the status, persist and publish
+ application.setStatus(status, context1.getInstanceId());
+ updateApplicationMonitor(appId, status, context1.getInstanceId());
+ ApplicationHolder.persistApplication(application);
+ ApplicationsEventPublisher.sendApplicationTerminatingEvent(appId, context1.getInstanceId());
+ } else {
+ log.warn(String.format("Application Instance state transition is not valid: [application-id] %s " +
+ " [instance-id] %s [current-status] %s [status-requested] %s", appId,
+ context1.getInstanceId() + context1.getStatus(), status));
+ }
+ }
+ } finally {
+ ApplicationHolder.releaseWriteLock();
+ }
+
+ // if monitors is not found for any cluster, assume cluster is not there and send cluster terminating event.
+ // this assumes the cluster monitor will not fail after creating members, but will only fail before
+ for (ClusterDataHolder aClusterData : clusterData) {
+ if (AutoscalerContext.getInstance().getClusterMonitor(aClusterData.getClusterId()) == null) {
+ TopologyManager.acquireReadLockForCluster(aClusterData.getServiceType(),
+ aClusterData.getClusterId());
+ try {
+ Service service = TopologyManager.getTopology().getService(aClusterData.getServiceType());
+ if (service != null) {
+ Cluster cluster = service.getCluster(aClusterData.getClusterId());
+ if (cluster != null) {
+ for(ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) {
+ ClusterStatusEventPublisher.sendClusterTerminatingEvent(appId,
+ aClusterData.getServiceType(),
+ aClusterData.getClusterId(),
+ instance.getInstanceId());
+ }
+ }
+ }
+ } finally {
+ TopologyManager.releaseReadLockForCluster(aClusterData.getServiceType(),
+ aClusterData.getClusterId());
+ }
+
+ }
+ }
+ return true;
+ }
+
+ public static void handleApplicationTerminatedEvent(String appId, String instanceId) {
if (log.isDebugEnabled()) {
log.debug("Handling application terminated event: [application-id] " + appId);
}
@@ -218,10 +285,10 @@ public class ApplicationBuilder {
Set<ClusterDataHolder> clusterData = application.getClusterDataRecursively();
ApplicationStatus status = ApplicationStatus.Terminated;
- if (application.isStateTransitionValid(status, null)) {
+ if (application.isStateTransitionValid(status, instanceId)) {
//setting the status, persist and publish
- application.setStatus(status, null);
- updateApplicationMonitor(appId, status, null);
+ application.setStatus(status, instanceId);
+ updateApplicationMonitor(appId, status, instanceId);
//removing the monitor
AutoscalerContext.getInstance().removeAppMonitor(appId);
//Removing the application from memory and registry
@@ -231,7 +298,9 @@ public class ApplicationBuilder {
ApplicationsEventPublisher.sendApplicationTerminatedEvent(appId, clusterData);
} else {
log.warn(String.format("Application state transition is not valid: [application-id] %s " +
- " [current-status] %s [status-requested] %s", appId, application.getStatus(null), status));
+ " [current-status] %s [status-requested] %s", appId,
+ application.getInstanceContexts(instanceId).getStatus(),
+ status));
}
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
index 68aaa12..1f4f6ca 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
@@ -96,8 +96,8 @@ public class ApplicationsEventPublisher {
if (log.isInfoEnabled()) {
log.info("Publishing Application In-activated event for [application]: " + appId);
}
- ApplicationInactivatedEvent applicationInActivatedEvent =
- new ApplicationInactivatedEvent(appId, instanceId);
+ ApplicationInstanceInactivatedEvent applicationInActivatedEvent =
+ new ApplicationInstanceInactivatedEvent(appId, instanceId);
publishEvent(applicationInActivatedEvent);
}
@@ -106,8 +106,8 @@ public class ApplicationsEventPublisher {
if (log.isInfoEnabled()) {
log.info("Publishing Application terminating event for [application]: " + appId);
}
- ApplicationTerminatingEvent applicationTerminatingEvent =
- new ApplicationTerminatingEvent(appId, instanceId);
+ ApplicationInstanceTerminatingEvent applicationTerminatingEvent =
+ new ApplicationInstanceTerminatingEvent(appId, instanceId);
publishEvent(applicationTerminatingEvent);
}
@@ -115,8 +115,8 @@ public class ApplicationsEventPublisher {
if (log.isInfoEnabled()) {
log.info("Publishing Application terminated event for [application]: " + appId);
}
- ApplicationTerminatedEvent applicationTerminatedEvent =
- new ApplicationTerminatedEvent(appId, clusterData);
+ ApplicationInstanceTerminatedEvent applicationTerminatedEvent =
+ new ApplicationInstanceTerminatedEvent(appId, clusterData);
publishEvent(applicationTerminatedEvent);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
index daff8ba..7d7ed31 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
@@ -350,7 +350,7 @@ public class StatusChecker {
//send the terminated event
if (component instanceof Application) {
log.info("sending app terminated: " + appId);
- ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+ ApplicationBuilder.handleApplicationTerminatedEvent(appId, null);
} else if (component instanceof Group) {
//send activation to the parent
if (((Group) component).getStatus(null) != GroupStatus.Terminated) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
index 3ea460d..e2a6368 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
@@ -93,7 +93,7 @@ public class GroupStatusTerminatedProcessor extends GroupStatusProcessor {
//send the terminated event
if (component instanceof Application) {
log.info("sending app terminated: " + appId);
- ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+ ApplicationBuilder.handleApplicationTerminatedEvent(appId, instanceId);
return true;
} else if (component instanceof Group) {
//send activation to the parent
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
index 5d51f23..37b2a2d 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
@@ -94,13 +94,13 @@ public class GroupStatusTerminatingProcessor extends GroupStatusProcessor {
//send the terminated event
if (component instanceof Application) {
log.info("sending app terminated: " + appId);
- ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+ ApplicationBuilder.handleApplicationTerminatedEvent(appId, instanceId);
return true;
} else if (component instanceof Group) {
//send activation to the parent
if (((Group) component).getStatus(null) != GroupStatus.Terminated) {
log.info("sending group terminated : " + component.getUniqueIdentifier());
- ApplicationBuilder.handleGroupTerminatedEvent(appId,
+ ApplicationBuilder.handleGroupTerminatingEvent(appId,
component.getUniqueIdentifier(), instanceId);
return true;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
index 9df4f3a..22f1c5c 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
@@ -22,7 +22,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder;
import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
import org.apache.stratos.messaging.listener.applications.ApplicationTerminatedEventListener;
import org.apache.stratos.messaging.message.receiver.applications.ApplicationsEventReceiver;
@@ -57,19 +57,6 @@ public class ApplicationTopicReceiver {
}
- private void addEventListeners() {
- applicationsEventReceiver.addEventListener(new ApplicationTerminatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- //Remove the application related data
- ApplicationTerminatedEvent terminatedEvent = (ApplicationTerminatedEvent) event;
- log.info("ApplicationTerminatedEvent received for [application] " + terminatedEvent.getAppId());
- String appId = terminatedEvent.getAppId();
- TopologyBuilder.handleApplicationClustersRemoved(appId, terminatedEvent.getClusterData());
- }
- });
- }
-
public void setTerminated(boolean terminated) {
this.terminated = terminated;
}
@@ -78,6 +65,19 @@ public class ApplicationTopicReceiver {
return executorService;
}
+ private void addEventListeners() {
+ applicationsEventReceiver.addEventListener(new ApplicationTerminatedEventListener() {
+ @Override
+ protected void onEvent(Event event) {
+ //Remove the application related data
+ ApplicationInstanceTerminatedEvent terminatedEvent = (ApplicationInstanceTerminatedEvent)event;
+ log.info("ApplicationTerminatedEvent received for [application] " + terminatedEvent.getAppId());
+ String appId = terminatedEvent.getAppId();
+ TopologyBuilder.handleApplicationClustersRemoved(appId, terminatedEvent.getClusterData());
+ }
+ });
+ }
+
public void setExecutorService(ExecutorService executorService) {
this.executorService = executorService;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index a195708..991a355 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -28,13 +28,12 @@ import org.apache.stratos.cloud.controller.exception.CloudControllerException;
import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
import org.apache.stratos.cloud.controller.messaging.publisher.CartridgeInstanceDataPublisher;
-import org.apache.stratos.cloud.controller.registry.RegistryManager;
import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
import org.apache.stratos.common.constants.StratosConstants;
import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
import org.apache.stratos.messaging.domain.instance.ClusterInstance;
import org.apache.stratos.messaging.domain.topology.*;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
import org.apache.stratos.messaging.event.cluster.status.*;
import org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent;
import org.apache.stratos.messaging.event.instance.status.InstanceMaintenanceModeEvent;
@@ -864,7 +863,7 @@ public class TopologyBuilder {
}
- private static void deleteAppResourcesFromMetadataService(ApplicationTerminatedEvent event) {
+ private static void deleteAppResourcesFromMetadataService(ApplicationInstanceTerminatedEvent event) {
try {
MetaDataServiceClient metadataClient = new DefaultMetaDataServiceClient();
metadataClient.deleteApplicationProperties(event.getAppId());
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
index 1594dc4..5482e56 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
@@ -100,8 +100,8 @@ public class CloudControllerServiceClient {
stub.deployServiceGroup(serviceGroup);
}
- public void undeployDeploymentPOlicy (ServiceGroup serviceGroup) throws RemoteException, CloudControllerServiceInvalidServiceGroupExceptionException {
- stub.deployServiceGroup(serviceGroup);
+ public void undeployDeploymentPOlicy (String applicationId) throws RemoteException, CloudControllerServiceInvalidServiceGroupExceptionException {
+ //stub.deployServiceGroup(serviceGroup);
}
public void undeployServiceGroup (String name)throws RemoteException, CloudControllerServiceInvalidServiceGroupExceptionException {
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
deleted file mode 100644
index b2558dd..0000000
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-
-/**
- * This event will be fired upon the application inactivated is detected.
- */
-public class ApplicationInactivatedEvent extends Event implements Serializable {
- private static final long serialVersionUID = 2625412714611885089L;
-
- private String appId;
- private String instanceId;
-
- public ApplicationInactivatedEvent(String appId, String instanceId) {
- this.appId = appId;
- this.instanceId = instanceId;
- }
-
- public String getAppId() {
- return appId;
- }
-
- public String getInstanceId() {
- return instanceId;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
new file mode 100644
index 0000000..c8254ed
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+
+/**
+ * This event will be fired upon the application inactivated is detected.
+ */
+public class ApplicationInstanceInactivatedEvent extends Event implements Serializable {
+ private static final long serialVersionUID = 2625412714611885089L;
+
+ private String appId;
+ private String instanceId;
+
+ public ApplicationInstanceInactivatedEvent(String appId, String instanceId) {
+ this.appId = appId;
+ this.instanceId = instanceId;
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public String getInstanceId() {
+ return instanceId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
new file mode 100644
index 0000000..1d05ba3
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * This event will be fired upon the application terminated is detected.
+ */
+public class ApplicationInstanceTerminatedEvent extends Event implements Serializable {
+ private static final long serialVersionUID = 2625412714611885089L;
+
+ private String appId;
+ private Set<ClusterDataHolder> clusterData;
+
+ public ApplicationInstanceTerminatedEvent(String appId, Set<ClusterDataHolder> clusterData) {
+ this.appId = appId;
+ this.clusterData = clusterData;
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public Set<ClusterDataHolder> getClusterData() {
+ return clusterData;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
new file mode 100644
index 0000000..23510dd
--- /dev/null
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+
+/**
+ * This event will be fired upon the application terminating is detected.
+ */
+public class ApplicationInstanceTerminatingEvent extends Event implements Serializable {
+ private static final long serialVersionUID = 2625412714611885089L;
+
+ private String appId;
+ private String instanceId;
+
+
+ public ApplicationInstanceTerminatingEvent(String appId, String instanceId) {
+ this.appId = appId;
+ this.instanceId = instanceId;
+
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public String getInstanceId() {
+ return instanceId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
deleted file mode 100644
index eaa54e3..0000000
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-import java.util.Set;
-
-/**
- * This event will be fired upon the application terminated is detected.
- */
-public class ApplicationTerminatedEvent extends Event implements Serializable {
- private static final long serialVersionUID = 2625412714611885089L;
-
- private String appId;
- private Set<ClusterDataHolder> clusterData;
-
- public ApplicationTerminatedEvent(String appId, Set<ClusterDataHolder> clusterData) {
- this.appId = appId;
- this.clusterData = clusterData;
- }
-
- public String getAppId() {
- return appId;
- }
-
- public Set<ClusterDataHolder> getClusterData() {
- return clusterData;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
deleted file mode 100644
index c1afb73..0000000
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-
-/**
- * This event will be fired upon the application terminating is detected.
- */
-public class ApplicationTerminatingEvent extends Event implements Serializable {
- private static final long serialVersionUID = 2625412714611885089L;
-
- private String appId;
- private String instanceId;
-
-
- public ApplicationTerminatingEvent(String appId, String instanceId) {
- this.appId = appId;
- this.instanceId = instanceId;
-
- }
-
- public String getAppId() {
- return appId;
- }
-
- public String getInstanceId() {
- return instanceId;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
index 48ecb8b..5a3ef91 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
@@ -24,7 +24,7 @@ import org.apache.stratos.messaging.domain.applications.Application;
import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
import org.apache.stratos.messaging.domain.applications.Applications;
import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
-import org.apache.stratos.messaging.event.applications.ApplicationInactivatedEvent;
+import org.apache.stratos.messaging.event.applications.ApplicationInstanceInactivatedEvent;
import org.apache.stratos.messaging.message.processor.MessageProcessor;
import org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
import org.apache.stratos.messaging.util.Util;
@@ -49,14 +49,14 @@ public class ApplicationInactivatedMessageProcessor extends MessageProcessor {
public boolean process(String type, String message, Object object) {
Applications applications = (Applications) object;
- if (ApplicationInactivatedEvent.class.getName().equals(type)) {
+ if (ApplicationInstanceInactivatedEvent.class.getName().equals(type)) {
// Return if applications has not been initialized
if (!applications.isInitialized())
return false;
// Parse complete message and build event
- ApplicationInactivatedEvent event = (ApplicationInactivatedEvent) Util.
- jsonToObject(message, ApplicationInactivatedEvent.class);
+ ApplicationInstanceInactivatedEvent event = (ApplicationInstanceInactivatedEvent) Util.
+ jsonToObject(message, ApplicationInstanceInactivatedEvent.class);
ApplicationsUpdater.acquireWriteLockForApplication(event.getAppId());
@@ -77,7 +77,7 @@ public class ApplicationInactivatedMessageProcessor extends MessageProcessor {
}
}
- private boolean doProcess(ApplicationInactivatedEvent event, Applications applications) {
+ private boolean doProcess(ApplicationInstanceInactivatedEvent event, Applications applications) {
// Validate event against the existing applications
Application application = applications.getApplication(event.getAppId());
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
index f07c6f6..a6d2cd5 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
@@ -21,15 +21,11 @@ package org.apache.stratos.messaging.message.processor.applications;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.messaging.domain.applications.Applications;
-import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
import org.apache.stratos.messaging.message.processor.MessageProcessor;
import org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
-import org.apache.stratos.messaging.message.processor.topology.updater.TopologyUpdater;
import org.apache.stratos.messaging.util.Util;
-import java.util.Set;
-
/**
* This processor responsible to process the application Inactivation even and update the Topology.
*/
@@ -50,14 +46,14 @@ public class ApplicationTerminatedMessageProcessor extends MessageProcessor {
public boolean process(String type, String message, Object object) {
Applications applications = (Applications) object;
- if (ApplicationTerminatedEvent.class.getName().equals(type)) {
+ if (ApplicationInstanceTerminatedEvent.class.getName().equals(type)) {
// Return if applications has not been initialized
if (!applications.isInitialized())
return false;
// Parse complete message and build event
- ApplicationTerminatedEvent event = (ApplicationTerminatedEvent) Util.
- jsonToObject(message, ApplicationTerminatedEvent.class);
+ ApplicationInstanceTerminatedEvent event = (ApplicationInstanceTerminatedEvent) Util.
+ jsonToObject(message, ApplicationInstanceTerminatedEvent.class);
ApplicationsUpdater.acquireWriteLockForApplications();
@@ -78,7 +74,7 @@ public class ApplicationTerminatedMessageProcessor extends MessageProcessor {
}
}
- private boolean doProcess(ApplicationTerminatedEvent event, Applications applications) {
+ private boolean doProcess(ApplicationInstanceTerminatedEvent event, Applications applications) {
// check if required properties are available
if (event.getAppId() == null) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
index e6cdd2b..33ad474 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
@@ -24,7 +24,7 @@ import org.apache.stratos.messaging.domain.applications.Application;
import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
import org.apache.stratos.messaging.domain.applications.Applications;
import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatingEvent;
+import org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatingEvent;
import org.apache.stratos.messaging.message.processor.MessageProcessor;
import org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
import org.apache.stratos.messaging.util.Util;
@@ -49,14 +49,14 @@ public class ApplicationTerminatingMessageProcessor extends MessageProcessor {
public boolean process(String type, String message, Object object) {
Applications applications = (Applications) object;
- if (ApplicationTerminatingEvent.class.getName().equals(type)) {
+ if (ApplicationInstanceTerminatingEvent.class.getName().equals(type)) {
// Return if applications has not been initialized
if (!applications.isInitialized())
return false;
// Parse complete message and build event
- ApplicationTerminatingEvent event = (ApplicationTerminatingEvent) Util.
- jsonToObject(message, ApplicationTerminatingEvent.class);
+ ApplicationInstanceTerminatingEvent event = (ApplicationInstanceTerminatingEvent) Util.
+ jsonToObject(message, ApplicationInstanceTerminatingEvent.class);
ApplicationsUpdater.acquireWriteLockForApplication(event.getAppId());
@@ -77,7 +77,7 @@ public class ApplicationTerminatingMessageProcessor extends MessageProcessor {
}
}
- private boolean doProcess(ApplicationTerminatingEvent event, Applications applications) {
+ private boolean doProcess(ApplicationInstanceTerminatingEvent event, Applications applications) {
// Validate event against the existing applications
Application application = applications.getApplication(event.getAppId());