Example usage for com.amazonaws.services.elasticloadbalancing.model LoadBalancerAttributes setConnectionDraining

List of usage examples for com.amazonaws.services.elasticloadbalancing.model LoadBalancerAttributes setConnectionDraining

Introduction

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

Prototype


public void setConnectionDraining(ConnectionDraining connectionDraining) 

Source Link

Document

If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.

Usage

From source file:org.apache.stratos.aws.extension.AWSHelper.java

License:Apache License

public void modifyLBAttributes(String loadBalancerName, String region, boolean enableCrossZoneLbing,
        boolean enableConnDraining) {

    if (!enableCrossZoneLbing && !enableConnDraining) {
        log.info("No attributes specified to modify in the LB " + loadBalancerName);
        return;/*www.j  av a  2  s .c  o m*/
    }

    ModifyLoadBalancerAttributesRequest modifyLBAttributesReq = new ModifyLoadBalancerAttributesRequest()
            .withLoadBalancerName(loadBalancerName);
    LoadBalancerAttributes modifiedLbAttributes = new LoadBalancerAttributes();
    if (enableCrossZoneLbing) {
        modifiedLbAttributes.setCrossZoneLoadBalancing(new CrossZoneLoadBalancing().withEnabled(true));
    }
    if (enableConnDraining) {
        modifiedLbAttributes.setConnectionDraining(new ConnectionDraining().withEnabled(true));
    }

    modifyLBAttributesReq.setLoadBalancerAttributes(modifiedLbAttributes);

    elbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region));

    ModifyLoadBalancerAttributesResult modifyLBAttributesRes = elbClient
            .modifyLoadBalancerAttributes(modifyLBAttributesReq);
    if (modifyLBAttributesRes != null) {
        log.info("Successfully enabled cross zone load balancing and connection draining for "
                + loadBalancerName);
    } else {
        log.error("Failed to enable cross zone load balancing and connection draining for " + loadBalancerName);
    }
}