private String generateMembersURI(boolean flip) { String uri; StringBuffer connectedBrokers = new StringBuffer(); String separator = ""; synchronized (members) { if (members.size() > 0) { for (TopologyMember member : members) { connectedBrokers.append(separator).append(member.toURI()); separator = ","; } // The flip exists to guarantee even distribution of URIs when sent to the client // in case of failures you won't get all the connections failing to a single server. if (flip && members.size() > 1) { members.addLast(members.removeFirst()); } } } uri = connectedBrokers.toString(); return uri; }