Examples of MemberStartedEvent


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

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

            // Parse complete message and build event
            MemberStartedEvent event = (MemberStartedEvent) Util.jsonToObject(message, MemberStartedEvent.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) {
                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()));
                    }
                    return false;
                }
            }

            if (member.getStatus() == MemberStatus.Starting) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Member already started: [service] %s [cluster] %s [member] %s",
                            event.getServiceName(),
                            event.getClusterId(),
                            event.getMemberId()));
                }
            } else {
             
              // Apply changes to the topology
              member.setStatus(MemberStatus.Starting);
             
              if (log.isInfoEnabled()) {
                log.info(String.format("Member started: [service] %s [cluster] %s [member] %s",
                    event.getServiceName(),
                    event.getClusterId(),
                    event.getMemberId()));
              }
            }


            // Notify event listeners
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.