Package org.apache.stratos.messaging.domain.topology

Examples of org.apache.stratos.messaging.domain.topology.Member


    @Override
    public Member getNextMember(AlgorithmContext algorithmContext) {
        if (members.size() == 0) {
            return null;
        }
        Member current = null;
        lock.lock();
        try {
            int currentMemberIndex = algorithmContext.getCurrentMemberIndex();
            if (currentMemberIndex >= members.size()) {
                currentMemberIndex = 0;
            }
            if (log.isDebugEnabled()) {
                log.debug(String.format("Searching for next member: [service] %s [cluster]: %s [member-count]: %d [current-index] %d", algorithmContext.getServiceName(), algorithmContext.getClusterId(), members.size(), currentMemberIndex));
            }
            int index = members.size();
            do {
                current = members.get(currentMemberIndex);
                if (currentMemberIndex == members.size() - 1) {
                    currentMemberIndex = 0;
                } else {
                    currentMemberIndex++;
                }
                index--;
            } while ((!current.isActive()) && index > 0);
            algorithmContext.setCurrentMemberIndex(currentMemberIndex);
        } finally {
            lock.unlock();
        }
        return current;
View Full Code Here


        long startTime = System.currentTimeMillis();

        Cluster cluster = LoadBalancerContext.getInstance().getHostNameClusterMap().getCluster(hostName);
        if (cluster != null) {
            Member member = findNextMemberInCluster(cluster);
            if (member != null) {
                if (log.isDebugEnabled()) {
                    long endTime = System.currentTimeMillis();
                    log.debug(String.format("Next member identified in %dms: [service] %s [cluster] %s [member] %s", (endTime - startTime), member.getServiceName(), member.getClusterId(), member.getMemberId()));
                }
            }
            return member;
        }
        return null;
View Full Code Here

        long startTime = System.currentTimeMillis();

        // Find cluster from host name and tenant id
        Cluster cluster = LoadBalancerContext.getInstance().getMultiTenantClusterMap().getCluster(hostName, tenantId);
        if (cluster != null) {
            Member member = findNextMemberInCluster(cluster);
            if (member != null) {
                if (log.isDebugEnabled()) {
                    long endTime = System.currentTimeMillis();
                    log.debug(String.format("Next member identified in %dms: [service] %s [cluster] %s [tenant-id] %d [member] %s",
                            (endTime - startTime), member.getServiceName(), member.getClusterId(), tenantId, member.getMemberId()));
                }
            }
            return member;
        }
        return null;
View Full Code Here

        if (algorithmContext == null) {
            algorithmContext = new AlgorithmContext(cluster.getServiceName(), cluster.getClusterId());
            clusterContext.setAlgorithmContext(algorithmContext);
        }
        algorithm.setMembers(new ArrayList<Member>(cluster.getMembers()));
        Member member = algorithm.getNextMember(algorithmContext);
        if (member == null) {
            if (log.isWarnEnabled()) {
                log.warn(String.format("Could not find a member in cluster: [service] %s [cluster] %s", cluster.getServiceName(), cluster.getClusterId()));
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.stratos.messaging.domain.topology.Member

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.