From ab7e9536a7bd3f658fead51bc83e1d616d944e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E6=98=BE=E4=BC=98?= <237809796@qq.com> Date: Wed, 17 Nov 2021 18:33:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20=E5=90=88?= =?UTF-8?q?=E5=B9=B6=20zhub=20=E9=85=8D=E7=BD=AE=EF=BC=8Caddr=3D"host:port?= =?UTF-8?q?",=20=E5=8E=BB=E9=99=A4=E5=8E=9F=E6=9C=89=20port=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/application.xml | 2 +- src/com/zdemo/zhub/ZHubClient.java | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) 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);