diff --git a/rapidoid-commons/src/main/java/org/rapidoid/config/Conf.java b/rapidoid-commons/src/main/java/org/rapidoid/config/Conf.java index 09e5e726b5..11bae67d06 100644 --- a/rapidoid-commons/src/main/java/org/rapidoid/config/Conf.java +++ b/rapidoid-commons/src/main/java/org/rapidoid/config/Conf.java @@ -36,8 +36,6 @@ public class Conf { private static final Config ROOT = new Config(); - private static volatile String[] args; - static { RapidoidInitializer.initialize(); } @@ -51,24 +49,8 @@ public Map parse(byte[] bytes) { }; public static synchronized void args(String... args) { - Conf.args = args; ConfigHelp.processHelp(args); - - if (args != null) { - for (String arg : args) { - String[] parts = arg.split("=", 2); - - if (parts.length > 1) { - ROOT.put(parts[0], parts[1]); - } else { - ROOT.put(parts[0], true); - } - } - } - } - - public static String[] getArgs() { - return args; + ROOT.args(args); } public static void remove(String name) { diff --git a/rapidoid-commons/src/main/java/org/rapidoid/config/Config.java b/rapidoid-commons/src/main/java/org/rapidoid/config/Config.java index 0ecfdb9842..817d16a547 100644 --- a/rapidoid-commons/src/main/java/org/rapidoid/config/Config.java +++ b/rapidoid-commons/src/main/java/org/rapidoid/config/Config.java @@ -35,6 +35,8 @@ public class Config { private final Map properties; + private volatile String[] args; + public Config(Map configProperties) { this.properties = Collections.synchronizedMap(configProperties); } @@ -196,4 +198,24 @@ public void putAll(Map entries) { properties.putAll((Map) entries); } + public void args(String... args) { + this.args = args; + + if (args != null) { + for (String arg : args) { + String[] parts = arg.split("=", 2); + + if (parts.length > 1) { + put(parts[0], parts[1]); + } else { + put(parts[0], true); + } + } + } + } + + public String[] getArgs() { + return args; + } + } diff --git a/rapidoid-commons/src/main/java/org/rapidoid/config/ConfigHelp.java b/rapidoid-commons/src/main/java/org/rapidoid/config/ConfigHelp.java index b66a00e7b6..cdd67d2007 100644 --- a/rapidoid-commons/src/main/java/org/rapidoid/config/ConfigHelp.java +++ b/rapidoid-commons/src/main/java/org/rapidoid/config/ConfigHelp.java @@ -30,7 +30,7 @@ public class ConfigHelp { public static void processHelp(Object[] args) { - if (args.length == 1 && args[0].equals("--help")) { + if (args != null && args.length == 1 && args[0].equals("--help")) { show("Usage:"); show(" java -cp .jar com.yourapp.Main [option1 option2 ...]");