From 6cb0a05720e77007f09266c6c2ea80398634e456 Mon Sep 17 00:00:00 2001 From: redkale Date: Fri, 15 Dec 2023 22:55:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/boot/AppConfig.java | 2 +- src/main/java/org/redkale/boot/Application.java | 4 +++- src/main/java/org/redkale/util/AnyValue.java | 12 ++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/redkale/boot/AppConfig.java b/src/main/java/org/redkale/boot/AppConfig.java index 0ba0ba67c..6b7c1317b 100644 --- a/src/main/java/org/redkale/boot/AppConfig.java +++ b/src/main/java/org/redkale/boot/AppConfig.java @@ -483,7 +483,7 @@ class AppConfig { } } - static final AnyValue.MergeFunction appConfigmergeFunction = (path, key, val1, val2) -> { + static final AnyValue.MergeFunction APP_CONFIG_MERGE_FUNC = (path, key, val1, val2) -> { if ("".equals(path)) { if ("executor".equals(key)) { return AnyValue.MergeFunction.REPLACE; diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 90644a07a..bd52ce34f 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -248,8 +248,10 @@ public final class Application { //设置基础信息资源 this.resourceFactory.register(RESNAME_APP_NAME, String.class, this.name); + this.resourceFactory.register(RESNAME_APP_NODEID, int.class, this.nodeid); this.resourceFactory.register(RESNAME_APP_NODEID, Integer.class, this.nodeid); + this.resourceFactory.register(RESNAME_APP_TIME, long.class, this.startTime); this.resourceFactory.register(RESNAME_APP_TIME, Long.class, this.startTime); @@ -706,7 +708,7 @@ public final class Application { Properties newDyncProps = new Properties(); dyncProps.forEach((k, v) -> newDyncProps.put(k.toString(), getPropertyValue(v.toString(), dyncProps))); //合并配置 - this.config.merge(AnyValue.loadFromProperties(newDyncProps).getAnyValue("redkale"), AppConfig.appConfigmergeFunction); + this.config.merge(AnyValue.loadFromProperties(newDyncProps).getAnyValue("redkale"), AppConfig.APP_CONFIG_MERGE_FUNC); } //使用合并后的新配置节点 propsConf = this.config.getAnyValue("properties"); diff --git a/src/main/java/org/redkale/util/AnyValue.java b/src/main/java/org/redkale/util/AnyValue.java index c2c335383..b3c71cf99 100644 --- a/src/main/java/org/redkale/util/AnyValue.java +++ b/src/main/java/org/redkale/util/AnyValue.java @@ -35,12 +35,24 @@ public abstract class AnyValue { */ public static interface MergeFunction { + /** + * 追加 + */ public static final int NONE = 0; + /** + * 替换 + */ public static final int REPLACE = 1; + /** + * 合并 + */ public static final int MERGE = 2; + /** + * 丢弃 + */ public static final int SKIP = 3; public int apply(String path, String name, AnyValue val1, AnyValue val2);