package org.greencheek.elasticacheconfig.client; import java.util.concurrent.atomic.AtomicInteger; /** * Created by dominictootell on 25/07/2014. */ public class RoundRobinElastiCacheConfigServerChooser implements ElastiCacheConfigServerChooser{ private final AtomicInteger counter = new AtomicInteger(0); private final ElastiCacheServerConnectionDetails[] hosts; public RoundRobinElastiCacheConfigServerChooser(ElastiCacheServerConnectionDetails[] hosts) { this.hosts = hosts; } @Override public ElastiCacheServerConnectionDetails getServer() { return hosts[counter.getAndIncrement()%hosts.length]; } }