diff --git a/cat-client/src/main/java/com/dianping/cat/message/io/ChannelManager.java b/cat-client/src/main/java/com/dianping/cat/message/io/ChannelManager.java index 59c3f0e1b8dbc7896ad216672ecd60d46353a758..fb33e860cc66400bd3a9d2b01feec0136818b30c 100644 --- a/cat-client/src/main/java/com/dianping/cat/message/io/ChannelManager.java +++ b/cat-client/src/main/java/com/dianping/cat/message/io/ChannelManager.java @@ -87,9 +87,9 @@ public class ChannelManager implements Task { String serverConfig = loadServerConfig(); if (serverConfig != null) { - List newAddress = parseSocketAddress(serverConfig); + List configedAddresses = parseSocketAddress(serverConfig); - initChannel(newAddress, serverConfig); + initChannel(configedAddresses, serverConfig); } else { initChannel(serverAddresses, null); } diff --git a/cat-home/src/main/java/com/dianping/cat/system/config/RouterConfigManager.java b/cat-home/src/main/java/com/dianping/cat/system/config/RouterConfigManager.java index d86cfbf589d5026c6546e384f0372ddc123aecea..7d645667879ded49858150c7cc43943070133aa0 100644 --- a/cat-home/src/main/java/com/dianping/cat/system/config/RouterConfigManager.java +++ b/cat-home/src/main/java/com/dianping/cat/system/config/RouterConfigManager.java @@ -57,7 +57,7 @@ public class RouterConfigManager implements Initializable, LogEnabled { Map map = new HashMap(); List servers = queryEnableServers(); int length = servers.size(); - int index = (int) (Math.random() * length); + int index = domain.hashCode() * length; for (int i = 0; i < 2; i++) { map.put(servers.get((index + 1) % length), 0);