Repository: incubator-stratos Updated Branches: refs/heads/master 2a0af3e5f -> 06491aada
Updated member terminated and tenant removed message processors to fire event listeners even if objects have been already removed Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/a45d16ed Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/a45d16ed Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/a45d16ed Branch: refs/heads/master Commit: a45d16ed1f0ad40748c4f6f457aea347d23116c5 Parents: 4b0367b Author: Imesh Gunaratne <[email protected]> Authored: Fri Apr 18 10:06:38 2014 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Fri Apr 18 10:06:38 2014 +0530 ---------------------------------------------------------------------- .../tenant/TenantRemovedMessageProcessor.java | 12 ++++---- .../MemberTerminatedMessageProcessor.java | 32 ++++++-------------- 2 files changed, 16 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a45d16ed/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java index 0017eef..f079a16 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java @@ -58,14 +58,14 @@ public class TenantRemovedMessageProcessor extends MessageProcessor { Tenant tenant = TenantManager.getInstance().getTenant(event.getTenantId()); if(tenant == null) { if(log.isWarnEnabled()) { - log.warn(String.format("Tenant not found: [tenant-id] %d", event.getTenantId())); + log.warn(String.format("Tenant already removed: [tenant-id] %d", event.getTenantId())); } - return false; } - TenantManager.getInstance().removeTenant(event.getTenantId()); - - if(log.isInfoEnabled()) { - log.info(String.format("Tenant removed: [tenant-id] %d [tenant-domain] %s", tenant.getTenantId(), tenant.getTenantDomain())); + else { + TenantManager.getInstance().removeTenant(event.getTenantId()); + if(log.isInfoEnabled()) { + log.info(String.format("Tenant removed: [tenant-id] %d [tenant-domain] %s", tenant.getTenantId(), tenant.getTenantDomain())); + } } // Notify event listeners http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a45d16ed/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java index 4e9b713..461b0da 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java @@ -22,7 +22,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.messaging.domain.topology.Cluster; import org.apache.stratos.messaging.domain.topology.Member; -import org.apache.stratos.messaging.domain.topology.MemberStatus; import org.apache.stratos.messaging.domain.topology.Service; import org.apache.stratos.messaging.domain.topology.Topology; import org.apache.stratos.messaging.event.topology.MemberTerminatedEvent; @@ -93,27 +92,19 @@ public class MemberTerminatedMessageProcessor extends MessageProcessor { return false; } Member member = cluster.getMember(event.getMemberId()); - if (member == null) { - if (log.isWarnEnabled()) { - log.warn(String.format("Member does not exist: [service] %s [cluster] %s [member] %s", - event.getServiceName(), - event.getClusterId(), - event.getMemberId())); - } - return false; - } - - // Apply member filter - if(TopologyMemberFilter.getInstance().isActive()) { - if(TopologyMemberFilter.getInstance().lbClusterIdExcluded(member.getLbClusterId())) { - if (log.isDebugEnabled()) { - log.debug(String.format("Member is excluded: [lb-cluster-id] %s", member.getLbClusterId())); + if(member != null) { + // Apply member filter + if(TopologyMemberFilter.getInstance().isActive()) { + if(TopologyMemberFilter.getInstance().lbClusterIdExcluded(member.getLbClusterId())) { + if (log.isDebugEnabled()) { + log.debug(String.format("Member is excluded: [lb-cluster-id] %s", member.getLbClusterId())); + } + return false; } - return false; } } - if (member.getStatus() == MemberStatus.Terminated) { + if (member == null) { if (log.isWarnEnabled()) { log.warn(String.format("Member already terminated: [service] %s [cluster] %s [member] %s", event.getServiceName(), @@ -121,10 +112,7 @@ public class MemberTerminatedMessageProcessor extends MessageProcessor { event.getMemberId())); } } else { - - // Apply changes to the topology - member.setStatus(MemberStatus.Terminated); - //removing the member from the cluster + // Remove member from the cluster cluster.removeMember(member); if (log.isInfoEnabled()) {
