Example usage for com.amazonaws.services.elasticloadbalancing.model HealthCheck withHealthyThreshold

List of usage examples for com.amazonaws.services.elasticloadbalancing.model HealthCheck withHealthyThreshold

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticloadbalancing.model HealthCheck withHealthyThreshold.

Prototype


public HealthCheck withHealthyThreshold(Integer healthyThreshold) 

Source Link

Document

The number of consecutive health checks successes required before moving the instance to the Healthy state.

Usage

From source file:com.kpbird.aws.Main.java

public void createElasticLoadBalancing() {
    try {//from ww w .  java  2 s  . com
        AmazonElasticLoadBalancingClient aebc = new AmazonElasticLoadBalancingClient(credentials);
        aebc.setEndpoint(endPoint);
        aebc.setRegion(region);

        String instanceid = Util.getInstanceId(InstanceName, credentials, endPoint, region);
        String azone = Util.getAvailabilityZone(instanceid, credentials, endPoint, region);

        CreateLoadBalancerRequest cbr = new CreateLoadBalancerRequest();
        cbr.setLoadBalancerName(elbName);

        ArrayList<Listener> arrListener = new ArrayList<Listener>();
        arrListener.add(new Listener().withInstancePort(ListenerInstancePort)
                .withInstanceProtocol(ListenerInstanceProtocol).withLoadBalancerPort(ListenerPort)
                .withProtocol(ListenerProtocol));
        cbr.setListeners(arrListener);

        ArrayList<String> arrAvailabilityZone = new ArrayList<String>();
        arrAvailabilityZone.add(azone);
        cbr.setAvailabilityZones(arrAvailabilityZone);

        CreateLoadBalancerResult cbresult = aebc.createLoadBalancer(cbr);
        log.Info("DNS Name " + cbresult.getDNSName());

        // wait for process complete

        ConfigureHealthCheckRequest chcr = new ConfigureHealthCheckRequest();
        chcr.setLoadBalancerName(elbName);
        HealthCheck healthCK = new HealthCheck();
        healthCK.withHealthyThreshold(HealthyThreshold);
        healthCK.withInterval(HealthInterval);
        healthCK.withTarget(HealthTarget);
        healthCK.withTimeout(HealthTimeout);
        healthCK.withUnhealthyThreshold(HealthUnhealthyThreshold);
        chcr.setHealthCheck(healthCK);

        aebc.configureHealthCheck(chcr);

        // wait for process complete         

        RegisterInstancesWithLoadBalancerRequest riwbr = new RegisterInstancesWithLoadBalancerRequest();
        riwbr.setLoadBalancerName(elbName);

        ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance> arrInstances = new ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance>();
        com.amazonaws.services.elasticloadbalancing.model.Instance i = new com.amazonaws.services.elasticloadbalancing.model.Instance(
                instanceid);
        arrInstances.add(i);
        riwbr.setInstances(arrInstances);

        RegisterInstancesWithLoadBalancerResult riwbresult = aebc.registerInstancesWithLoadBalancer(riwbr);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java

License:Open Source License

public void configureHealthCheck(AwsProcessClient awsProcessClient, Long loadBalancerNo) {
    LoadBalancerHealthCheck healthCheck = loadBalancerHealthCheckDao.read(loadBalancerNo);

    // ??????/*from   w  w w  . j av a  2 s .com*/
    if (healthCheck == null) {
        return;
    }

    AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo);

    // ??
    HealthCheck healthCheck2 = new HealthCheck();
    String target = healthCheck.getCheckProtocol() + ":" + healthCheck.getCheckPort();
    if (StringUtils.isNotEmpty(healthCheck.getCheckPath())) {
        if (healthCheck.getCheckPath().charAt(0) != '/') {
            target = target + "/";
        }
        target = target + healthCheck.getCheckPath();
    }
    healthCheck2.withTarget(target);
    healthCheck2.withTimeout(healthCheck.getCheckTimeout());
    healthCheck2.withInterval(healthCheck.getCheckInterval());
    healthCheck2.withHealthyThreshold(healthCheck.getHealthyThreshold());
    healthCheck2.withUnhealthyThreshold(healthCheck.getUnhealthyThreshold());

    // ???????
    LoadBalancerDescription description = awsCommonProcess.describeLoadBalancer(awsProcessClient,
            awsLoadBalancer.getName());
    HealthCheck healthCheck3 = description.getHealthCheck();
    if (StringUtils.equals(healthCheck2.getTarget(), healthCheck3.getTarget())
            && ObjectUtils.equals(healthCheck2.getTimeout(), healthCheck3.getTimeout())
            && ObjectUtils.equals(healthCheck2.getInterval(), healthCheck3.getInterval())
            && ObjectUtils.equals(healthCheck2.getHealthyThreshold(), healthCheck3.getHealthyThreshold())
            && ObjectUtils.equals(healthCheck2.getUnhealthyThreshold(), healthCheck3.getUnhealthyThreshold())) {
        return;
    }

    // ?
    ConfigureHealthCheckRequest request = new ConfigureHealthCheckRequest();
    request.withLoadBalancerName(awsLoadBalancer.getName());
    request.withHealthCheck(healthCheck2);
    awsProcessClient.getElbClient().configureHealthCheck(request);

    if (log.isInfoEnabled()) {
        log.info(MessageUtils.getMessage("IPROCESS-200131", awsLoadBalancer.getName()));
    }

    // 
    processLogger.debug(null, null, "AwsElbHealthCheckConfig",
            new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() });
}