Package org.apache.stratos.messaging.event.topology

Examples of org.apache.stratos.messaging.event.topology.MemberTerminatedEvent


            // Return if topology has not been initialized
            if (!topology.isInitialized())
                return false;

            // Parse complete message and build event
            MemberTerminatedEvent event = (MemberTerminatedEvent) Util.jsonToObject(message, MemberTerminatedEvent.class);

            // Apply service filter
            if (TopologyServiceFilter.getInstance().isActive()) {
                if (TopologyServiceFilter.getInstance().serviceNameExcluded(event.getServiceName())) {
                    // Service is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Service is excluded: [service] %s", event.getServiceName()));
                    }
                    return false;
                }
            }

            // Apply cluster filter
            if (TopologyClusterFilter.getInstance().isActive()) {
                if (TopologyClusterFilter.getInstance().clusterIdExcluded(event.getClusterId())) {
                    // Cluster is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Cluster is excluded: [cluster] %s", event.getClusterId()));
                    }
                    return false;
                }
            }

            // Validate event against the existing topology
            Service service = topology.getService(event.getServiceName());
            if (service == null) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Service does not exist: [service] %s", event.getServiceName()));
                }
                return false;
            }
            Cluster cluster = service.getCluster(event.getClusterId());
            if (cluster == null) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Cluster does not exist: [service] %s [cluster] %s",
                            event.getServiceName(), event.getClusterId()));
                }
                return false;
            }
            Member member = cluster.getMember(event.getMemberId());
            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;
                    }
                }
            }

            if (member == null) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Member already terminated: [service] %s [cluster] %s [member] %s",
                            event.getServiceName(),
                            event.getClusterId(),
                            event.getMemberId()));
                }
            } else {
              // Remove member from the cluster
              cluster.removeMember(member);
             
              if (log.isInfoEnabled()) {
                log.info(String.format("Member terminated: [service] %s [cluster] %s [member] %s",
                    event.getServiceName(),
                    event.getClusterId(),
                    event.getMemberId()));
              }
            }


            notifyEventListeners(event);
View Full Code Here

TOP

Related Classes of org.apache.stratos.messaging.event.topology.MemberTerminatedEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.