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

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


        if (member == null) {
            log.warn(String.format("Member %s does not exist",
                    instanceMaintenanceModeEvent.getMemberId()));
            return;
        }
        MemberMaintenanceModeEvent memberMaintenanceModeEvent = new MemberMaintenanceModeEvent(
                                                                instanceMaintenanceModeEvent.getServiceName(),
                                                                instanceMaintenanceModeEvent.getClusterId(),
                                                                instanceMaintenanceModeEvent.getNetworkPartitionId(),
                                                                instanceMaintenanceModeEvent.getPartitionId(),
                                                                instanceMaintenanceModeEvent.getMemberId());
View Full Code Here


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

            // Parse complete message and build event
            MemberMaintenanceModeEvent event = (MemberMaintenanceModeEvent) Util.
                                            jsonToObject(message, MemberMaintenanceModeEvent.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.In_Maintenance) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Member already updated as In_Maintenance: " +
                            "[service] %s [cluster] %s [member] %s",
                            event.getServiceName(),
                            event.getClusterId(),
                            event.getMemberId()));
                }
            } else {
             
              // Apply changes to the topology
              member.setStatus(MemberStatus.In_Maintenance);
             
              if (log.isInfoEnabled()) {
                log.info(String.format("Member updated as In_Maintenance: [service] %s [cluster] %s [member] %s",
                    event.getServiceName(),
                    event.getClusterId(),
                    event.getMemberId()));
              }
            }


            // Notify event listeners
View Full Code Here

TOP

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

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.