diff --git a/conf/application.xml b/conf/application.xml
index 68f0ce3..c519a89 100644
--- a/conf/application.xml
+++ b/conf/application.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/src/com/zdemo/zhub/ZHubClient.java b/src/com/zdemo/zhub/ZHubClient.java
index 8d7d9f6..21b4637 100644
--- a/src/com/zdemo/zhub/ZHubClient.java
+++ b/src/com/zdemo/zhub/ZHubClient.java
@@ -35,11 +35,11 @@ public class ZHubClient extends AbstractConsumer implements IConsumer, IProducer
public Logger logger = Logger.getLogger(ZHubClient.class.getSimpleName());
@Resource(name = "property.zhub.host")
- private String host = "127.0.0.1";
+ private String addr = "127.0.0.1:1216";
@Resource(name = "property.zhub.password")
private String password = "";
- @Resource(name = "property.zhub.port")
- private int port = 1216;
+ /*@Resource(name = "property.zhub.port")
+ private int port = 1216;*/
@Resource(name = "property.zhub.groupid")
private String groupid = "";
@@ -72,8 +72,14 @@ public class ZHubClient extends AbstractConsumer implements IConsumer, IProducer
// 自动注入
if (config != null) {
- host = config.getValue("addr", host);
- port = config.getIntValue("port", port);
+ addr = config.getValue("addr", addr);
+
+ // 合并 addr = host:port, 做历史兼容
+ int port = config.getIntValue("port", 0);
+ if (port != 0 && !addr.contains(":")) {
+ addr = addr + ":" + port;
+ }
+
groupid = config.getValue("groupid", groupid);
}
@@ -82,8 +88,8 @@ public class ZHubClient extends AbstractConsumer implements IConsumer, IProducer
isMain = true;
isFirst = false;
}*/
- if (!mainHub.containsKey(host + ":" + port)) { // 确保同步执行此 init 逻辑
- mainHub.put(host + ":" + port, this);
+ if (!mainHub.containsKey(addr)) { // 确保同步执行此 init 逻辑
+ mainHub.put(addr, this);
}
if (!initSocket(0)) {
@@ -330,6 +336,10 @@ public class ZHubClient extends AbstractConsumer implements IConsumer, IProducer
protected boolean initSocket(int retry) {
for (int i = 0; i <= retry; i++) {
try {
+ String[] hostPort = addr.split(":");
+ String host = hostPort[0];
+ int port = Integer.parseInt(hostPort[1]);
+
client = new Socket();
client.connect(new InetSocketAddress(host, port));
client.setKeepAlive(true);