Example usage for com.amazonaws.services.elasticloadbalancing.model ConfigureHealthCheckRequest withHealthCheck

List of usage examples for com.amazonaws.services.elasticloadbalancing.model ConfigureHealthCheckRequest withHealthCheck

Introduction

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

Prototype


public ConfigureHealthCheckRequest withHealthCheck(HealthCheck healthCheck) 

Source Link

Document

The configuration information.

Usage

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);

    // ??????//w w w  .  ja v  a 2s  . c o m
    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() });
}