ConfigFactory.invalidateCaches() also resets environment variables config

This commit is contained in:
Cameron Mullen 2017-03-22 04:23:01 -07:00
parent 180d66b4b2
commit 0659ab5985
2 changed files with 8 additions and 1 deletions
config/src/main/java/com/typesafe/config

View File

@ -496,6 +496,7 @@ public final class ConfigFactory {
// We rely on this having the side effect that it drops
// all caches
ConfigImpl.reloadSystemPropertiesConfig();
ConfigImpl.reloadEnvVariablesConfig();
}
/**

View File

@ -339,7 +339,7 @@ public class ConfigImpl {
}
private static class EnvVariablesHolder {
static final AbstractConfigObject envVariables = loadEnvVariables();
static volatile AbstractConfigObject envVariables = loadEnvVariables();
}
static AbstractConfigObject envVariablesAsConfigObject() {
@ -354,6 +354,12 @@ public class ConfigImpl {
return envVariablesAsConfigObject().toConfig();
}
public static void reloadEnvVariablesConfig() {
// ConfigFactory.invalidateCaches() relies on this having the side
// effect that it drops all caches
EnvVariablesHolder.envVariables = loadEnvVariables();
}
public static Config defaultReference(final ClassLoader loader) {
return computeCachedConfig(loader, "defaultReference", new Callable<Config>() {
@Override