From 406dafebc42cefaca62a371dbbe64bc6ba3afe46 Mon Sep 17 00:00:00 2001 From: zhaoweijie Date: Tue, 15 Jul 2025 12:56:28 +0800 Subject: [PATCH] feat: the startup parameter prioritizes the doipStartPort specified in the configuration --- .../java/org/bdware/sc/server/DoipLocalSingleton.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/bdware/sc/server/DoipLocalSingleton.java b/src/main/java/org/bdware/sc/server/DoipLocalSingleton.java index 34e5566..ff5b23b 100644 --- a/src/main/java/org/bdware/sc/server/DoipLocalSingleton.java +++ b/src/main/java/org/bdware/sc/server/DoipLocalSingleton.java @@ -91,6 +91,16 @@ public class DoipLocalSingleton { SharableVarManager.initSharableVarManager(repoID, config); } } + // 如果启动参数中添加了 doipStartPort 参数,使用该参数作为启动端口 + if (otherConfigs != null && otherConfigs.isJsonObject() && otherConfigs.getAsJsonObject().has("doipStartPort") && infos.size() == 1) { + int doipStartPort = otherConfigs.getAsJsonObject().get("doipStartPort").getAsInt(); + // 如果当前启动的端口和指定的端口不一致,修改启动端口 + if (doipStartPort != port) { + infos.get(0).url = infos.get(0).url.replace(String.valueOf(port), String.valueOf(doipStartPort)); + port = doipStartPort; + } + } + DoipServiceInfo info = new DoipServiceInfo(repoID, owner, repoType, infos); server = new DoipServerImpl(info); DOOPRequestHandler handler = ContractProcess.instance.doopRequestHandler;