List of usage examples for com.amazonaws.services.elasticloadbalancing.model LoadBalancerAttributes setConnectionDraining
public void setConnectionDraining(ConnectionDraining connectionDraining)
If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
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); } }