From 348b27365b9d299a765ed5615cb3b601116e66be Mon Sep 17 00:00:00 2001 From: Redkale Date: Mon, 12 Dec 2022 11:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4Application=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8F=98=E9=87=8F=E4=BC=98=E5=85=88=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/boot/Application.java | 58 ++++++++++++------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index b2f62eb44..64942dfa3 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -255,6 +255,42 @@ public final class Application { this.configFromCache = "true".equals(config.getValue("[config-from-cache]")); this.environment = new Environment(this.envProperties); { //设置系统变量 + AnyValue propertiesConf = this.config.getAnyValue("properties"); + if (propertiesConf != null) { //设置配置文件中的系统变量 + for (AnyValue prop : propertiesConf.getAnyValues("property")) { + String key = prop.getValue("name", ""); + if (key.startsWith("system.property.")) { + String propName = key.substring("system.property.".length()); + if (System.getProperty(propName) == null) { //命令行传参数优先级高 + String value = prop.getValue("value"); + System.setProperty(propName, value == null ? value : replaceValue(value)); + } + } + } + } + //设置默认系统变量 + if (System.getProperty("redkale.net.transport.poolmaxconns") == null) { + System.setProperty("redkale.net.transport.poolmaxconns", "100"); + } + if (System.getProperty("redkale.net.transport.pinginterval") == null) { + System.setProperty("redkale.net.transport.pinginterval", "30"); + } + if (System.getProperty("redkale.net.transport.checkinterval") == null) { + System.setProperty("redkale.net.transport.checkinterval", "30"); + } + if (System.getProperty("redkale.convert.tiny") == null) { + System.setProperty("redkale.convert.tiny", "true"); + } + if (System.getProperty("redkale.convert.pool.size") == null) { + System.setProperty("redkale.convert.pool.size", "128"); + } + if (System.getProperty("redkale.convert.writer.buffer.defsize") == null) { + System.setProperty("redkale.convert.writer.buffer.defsize", "4096"); + } + if (System.getProperty("redkale.trace.enable") == null) { + System.setProperty("redkale.trace.enable", "false"); + } + System.setProperty("redkale.version", Redkale.getDotedVersion()); int nid = config.getIntValue("nodeid", 0); this.nodeid = nid; @@ -264,6 +300,7 @@ public final class Application { this.name = checkName(config.getValue("name", "")); this.resourceFactory.register(RESNAME_APP_NAME, name); System.setProperty(RESNAME_APP_NAME, name); + } final File root = new File(System.getProperty(RESNAME_APP_HOME)); this.resourceFactory.register(RESNAME_APP_TIME, long.class, this.startTime); @@ -393,27 +430,6 @@ public final class Application { lib = lib.isEmpty() ? confDir : (lib + ";" + confDir); Server.loadLib(classLoader, logger, lib); } - if (System.getProperty("redkale.net.transport.poolmaxconns") == null) { - System.setProperty("redkale.net.transport.poolmaxconns", "100"); - } - if (System.getProperty("redkale.net.transport.pinginterval") == null) { - System.setProperty("redkale.net.transport.pinginterval", "30"); - } - if (System.getProperty("redkale.net.transport.checkinterval") == null) { - System.setProperty("redkale.net.transport.checkinterval", "30"); - } - if (System.getProperty("redkale.convert.tiny") == null) { - System.setProperty("redkale.convert.tiny", "true"); - } - if (System.getProperty("redkale.convert.pool.size") == null) { - System.setProperty("redkale.convert.pool.size", "128"); - } - if (System.getProperty("redkale.convert.writer.buffer.defsize") == null) { - System.setProperty("redkale.convert.writer.buffer.defsize", "4096"); - } - if (System.getProperty("redkale.trace.enable") == null) { - System.setProperty("redkale.trace.enable", "false"); - } this.resourceFactory.register(BsonFactory.root()); this.resourceFactory.register(JsonFactory.root());