From af92ac40487d86b788a35c79dc83ba950a58622f Mon Sep 17 00:00:00 2001 From: Redkale Date: Tue, 29 Nov 2022 21:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96updateEnvironmentProperty?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/boot/Application.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 915316ed6..7b36b2aeb 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -1720,20 +1720,28 @@ public final class Application { } else if (key.startsWith("mimetype.property.")) { MimeType.add(key.substring("mimetype.property.".length()), val); } else if (key.startsWith("property.")) { - if (changeCache == null) { - resourceFactory.register(key, val); - } else { - changeCache.put(key, val); + Object old = resourceFactory.find(key, String.class); + if (!Objects.equals(val, old)) { + envProperties.put(key, val); + if (changeCache == null) { + resourceFactory.register(key, val); + } else { + changeCache.put(key, val); + } } } else { if (key.startsWith("redkale.")) { throw new RuntimeException("property " + key + " cannot redkale. startsWith"); } - envProperties.put(key, val); - if (changeCache == null) { - resourceFactory.register("property." + key, val); - } else { - changeCache.put("property." + key, val); + String newkey = "property." + key; + Object old = resourceFactory.find(newkey, String.class); + if (!Objects.equals(val, old)) { + envProperties.put(key, val); + if (changeCache == null) { + resourceFactory.register(newkey, val); + } else { + changeCache.put(newkey, val); + } } } }