This commit is contained in:
@@ -228,6 +228,8 @@ public final class Application {
|
|||||||
//进程根目录
|
//进程根目录
|
||||||
private final File home;
|
private final File home;
|
||||||
|
|
||||||
|
private final String homePath;
|
||||||
|
|
||||||
//配置文件目录
|
//配置文件目录
|
||||||
private final URI confPath;
|
private final URI confPath;
|
||||||
|
|
||||||
@@ -274,6 +276,7 @@ public final class Application {
|
|||||||
System.setProperty(RESNAME_APP_HOME, root.getCanonicalPath());
|
System.setProperty(RESNAME_APP_HOME, root.getCanonicalPath());
|
||||||
}
|
}
|
||||||
this.home = root.getCanonicalFile();
|
this.home = root.getCanonicalFile();
|
||||||
|
this.homePath = this.home.getPath();
|
||||||
String confDir = System.getProperty(RESNAME_APP_CONF_DIR, "conf");
|
String confDir = System.getProperty(RESNAME_APP_CONF_DIR, "conf");
|
||||||
if (confDir.contains("://") || confDir.startsWith("file:") || confDir.startsWith("resource:") || confDir.contains("!")) { //graalvm native-image startwith resource:META-INF
|
if (confDir.contains("://") || confDir.startsWith("file:") || confDir.startsWith("resource:") || confDir.contains("!")) { //graalvm native-image startwith resource:META-INF
|
||||||
this.confPath = new URI(confDir);
|
this.confPath = new URI(confDir);
|
||||||
@@ -667,7 +670,6 @@ public final class Application {
|
|||||||
System.setProperty("redkale.convert.writer.buffer.defsize", "4096");
|
System.setProperty("redkale.convert.writer.buffer.defsize", "4096");
|
||||||
|
|
||||||
final String confDir = this.confPath.toString();
|
final String confDir = this.confPath.toString();
|
||||||
final String homepath = this.home.getCanonicalPath();
|
|
||||||
// String pidstr = "";
|
// String pidstr = "";
|
||||||
// try { //JDK 9+
|
// try { //JDK 9+
|
||||||
// Class phclass = Thread.currentThread().getContextClassLoader().loadClass("java.lang.ProcessHandle");
|
// Class phclass = Thread.currentThread().getContextClassLoader().loadClass("java.lang.ProcessHandle");
|
||||||
@@ -684,11 +686,11 @@ public final class Application {
|
|||||||
+ RESNAME_APP_NODEID + " = " + this.nodeid + "\r\n"
|
+ RESNAME_APP_NODEID + " = " + this.nodeid + "\r\n"
|
||||||
+ "APP_LOADER = " + this.classLoader.getClass().getSimpleName() + "\r\n"
|
+ "APP_LOADER = " + this.classLoader.getClass().getSimpleName() + "\r\n"
|
||||||
+ RESNAME_APP_ADDR + " = " + this.localAddress.getHostString() + ":" + this.localAddress.getPort() + "\r\n"
|
+ RESNAME_APP_ADDR + " = " + this.localAddress.getHostString() + ":" + this.localAddress.getPort() + "\r\n"
|
||||||
+ RESNAME_APP_HOME + " = " + homepath + "\r\n"
|
+ RESNAME_APP_HOME + " = " + homePath + "\r\n"
|
||||||
+ RESNAME_APP_CONF_DIR + " = " + confDir.substring(confDir.indexOf('!') + 1));
|
+ RESNAME_APP_CONF_DIR + " = " + confDir.substring(confDir.indexOf('!') + 1));
|
||||||
|
|
||||||
if (!compileMode && !(classLoader instanceof RedkaleClassLoader.RedkaleCacheClassLoader)) {
|
if (!compileMode && !(classLoader instanceof RedkaleClassLoader.RedkaleCacheClassLoader)) {
|
||||||
String lib = config.getValue("lib", "${APP_HOME}/libs/*").trim().replace("${APP_HOME}", homepath);
|
String lib = replaceValue(config.getValue("lib", "${APP_HOME}/libs/*").trim());
|
||||||
lib = lib.isEmpty() ? confDir : (lib + ";" + confDir);
|
lib = lib.isEmpty() ? confDir : (lib + ";" + confDir);
|
||||||
Server.loadLib(classLoader, logger, lib);
|
Server.loadLib(classLoader, logger, lib);
|
||||||
}
|
}
|
||||||
@@ -740,7 +742,7 @@ public final class Application {
|
|||||||
String value = prop.getValue("value");
|
String value = prop.getValue("value");
|
||||||
if (key == null || value == null) continue;
|
if (key == null || value == null) continue;
|
||||||
appProperties.put(key, value);
|
appProperties.put(key, value);
|
||||||
value = value.replace("${APP_HOME}", homepath);
|
value = replaceValue(value);
|
||||||
if (key.startsWith("redkale.datasource[") || key.startsWith("redkale.cachesource[")) {
|
if (key.startsWith("redkale.datasource[") || key.startsWith("redkale.cachesource[")) {
|
||||||
sourceProperties.put(key, value);
|
sourceProperties.put(key, value);
|
||||||
} else if (key.startsWith("system.property.")) {
|
} else if (key.startsWith("system.property.")) {
|
||||||
@@ -771,9 +773,9 @@ public final class Application {
|
|||||||
appProperties.putAll(ps);
|
appProperties.putAll(ps);
|
||||||
ps.forEach((x, y) -> {
|
ps.forEach((x, y) -> {
|
||||||
if (x.toString().startsWith("redkale.datasource[") || x.toString().startsWith("redkale.cachesource[")) {
|
if (x.toString().startsWith("redkale.datasource[") || x.toString().startsWith("redkale.cachesource[")) {
|
||||||
sourceProperties.put(x, y.toString().replace("${APP_HOME}", homepath));
|
sourceProperties.put(x, replaceValue(y.toString()));
|
||||||
} else {
|
} else {
|
||||||
resourceFactory.register("property." + x, y.toString().replace("${APP_HOME}", homepath));
|
resourceFactory.register("property." + x, replaceValue(y.toString()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -1685,6 +1687,10 @@ public final class Application {
|
|||||||
System.exit(0); //必须要有
|
System.exit(0); //必须要有
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String replaceValue(String value) {
|
||||||
|
return value == null ? value : value.replace("${APP_HOME}", homePath).replace("${APP_NAME}", name);
|
||||||
|
}
|
||||||
|
|
||||||
private static String generateHelp() {
|
private static String generateHelp() {
|
||||||
return ""
|
return ""
|
||||||
+ "Usage: redkale [command] [arguments]\r\n"
|
+ "Usage: redkale [command] [arguments]\r\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user