}
private LoadBalancingPolicy getLoadBalancingPolicy() {
String policy = System.getProperty(LOAD_BALANCING);
if (policy == null || policy.equals("RoundRobin")) {
return new RoundRobinPolicy();
}
if (policy.equals("DCAwareRoundRobin")) {
String dataCenter = System.getProperty(DATA_CENTER);
if (dataCenter == null) {
LOG.warn(policy + " was specified for " + LOAD_BALANCING + " but " + DATA_CENTER + " is undefined." +
"Reverting to RoundRobin load balancing policy.");
return new RoundRobinPolicy();
} else {
return new DCAwareRoundRobinPolicy(dataCenter);
}
}
LOG.warn(policy + " is not a supported load balancing policy. Reverting to RoundRobin load balancing policy.");
return new RoundRobinPolicy();
}