Used AtomicInteger to generate LB sequence.
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/00441d4b Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/00441d4b Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/00441d4b Branch: refs/heads/gsoc-projects-2015 Commit: 00441d4b4bfc5648cdbaa3090a73eff1aa733f86 Parents: d22721b Author: swapnilpatilRajaram <[email protected]> Authored: Sat Aug 1 17:01:39 2015 +0000 Committer: swapnilpatilRajaram <[email protected]> Committed: Sat Aug 1 17:01:39 2015 +0000 ---------------------------------------------------------------------- .../apache/stratos/aws/extension/AWSHelper.java | 31 +++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/00441d4b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java ---------------------------------------------------------------------- diff --git a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java index 50177bd..2251298 100644 --- a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java +++ b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java @@ -29,6 +29,7 @@ import java.util.List; import java.util.Properties; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -49,8 +50,8 @@ public class AWSHelper { private String awsAccessKey; private String awsSecretKey; private String lbPrefix; - private int lbSequence; - private Object lbSequenceMutex; + private AtomicInteger lbSequence; + private String lbSecurityGroupName; private String lbSecurityGroupDescription; @@ -92,13 +93,13 @@ public class AWSHelper { this.lbPrefix = properties.getProperty(Constants.LB_PREFIX); - if (this.lbPrefix.isEmpty() || this.lbPrefix.length() > Constants.LOAD_BALANCER_PREFIX_MAX_LENGTH) { + if (this.lbPrefix.isEmpty() + || this.lbPrefix.length() > Constants.LOAD_BALANCER_PREFIX_MAX_LENGTH) { throw new LoadBalancerExtensionException( "Invalid load balancer prefix."); } - lbSequence = 0; - lbSequenceMutex = new Object(); + lbSequence = new AtomicInteger(1); this.lbSecurityGroupName = properties .getProperty(Constants.LOAD_BALANCER_SECURITY_GROUP_NAME); @@ -135,10 +136,7 @@ public class AWSHelper { } public int getNextLBSequence() { - synchronized (lbSequenceMutex) { - lbSequence++; - return lbSequence; - } + return lbSequence.getAndIncrement(); } /** @@ -173,7 +171,8 @@ public class AWSHelper { createLoadBalancerRequest.setSecurityGroups(securityGroups); - lbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); + lbClient.setEndpoint(String.format( + Constants.ELB_ENDPOINT_URL_FORMAT, region)); CreateLoadBalancerResult clbResult = lbClient .createLoadBalancer(createLoadBalancerRequest); @@ -203,7 +202,8 @@ public class AWSHelper { deleteLoadBalancerRequest.setLoadBalancerName(loadBalancerName); try { - lbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); + lbClient.setEndpoint(String.format( + Constants.ELB_ENDPOINT_URL_FORMAT, region)); lbClient.deleteLoadBalancer(deleteLoadBalancerRequest); return; @@ -233,7 +233,8 @@ public class AWSHelper { loadBalancerName, instances); try { - lbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); + lbClient.setEndpoint(String.format( + Constants.ELB_ENDPOINT_URL_FORMAT, region)); RegisterInstancesWithLoadBalancerResult result = lbClient .registerInstancesWithLoadBalancer(registerInstancesWithLoadBalancerRequest); @@ -264,7 +265,8 @@ public class AWSHelper { loadBalancerName, instances); try { - lbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); + lbClient.setEndpoint(String.format( + Constants.ELB_ENDPOINT_URL_FORMAT, region)); DeregisterInstancesFromLoadBalancerResult result = lbClient .deregisterInstancesFromLoadBalancer(deregisterInstancesFromLoadBalancerRequest); @@ -295,7 +297,8 @@ public class AWSHelper { loadBalancers); try { - lbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); + lbClient.setEndpoint(String.format( + Constants.ELB_ENDPOINT_URL_FORMAT, region)); DescribeLoadBalancersResult result = lbClient .describeLoadBalancers(describeLoadBalancersRequest);
