Merge pull request from camullen/master

ConfigFactory.invalidateCaches() also resets environment variables cache
This commit is contained in:
Havoc Pennington 2017-03-22 15:41:51 -04:00 committed by GitHub
commit 7a58c2e6a2
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