From 6fab3bdacf00c3ab3ba6a6e6266fb57eb2702b50 Mon Sep 17 00:00:00 2001 From: "David M. Lloyd" Date: Fri, 21 Feb 2020 09:27:58 -0600 Subject: [PATCH] Partially revert "Fix issue getting config from fork join pool" This partially reverts commit b2bfc3bf3779423e207a1524e07154df2f421e78. --- .../configuration/RunTimeConfigurationGenerator.java | 4 ++-- .../runtime/configuration/QuarkusConfigFactory.java | 8 -------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java index be6a0e5ca..75701f243 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java @@ -728,6 +728,8 @@ public final class RunTimeConfigurationGenerator { } private void installConfiguration(ResultHandle config, MethodCreator methodCreator) { + // install config + methodCreator.invokeStaticMethod(QCF_SET_CONFIG, config); // now invalidate the cached config, so the next one to load the config gets the new one final ResultHandle configProviderResolver = methodCreator.invokeStaticMethod(CPR_INSTANCE); try (TryBlock getConfigTry = methodCreator.tryBlock()) { @@ -737,8 +739,6 @@ public final class RunTimeConfigurationGenerator { // ignore getConfigTry.addCatch(IllegalStateException.class); } - // install config - methodCreator.invokeStaticMethod(QCF_SET_CONFIG, config); } private void generateDefaultValuesConfigSourceClass(ConfigPatternMap patternMap, String className) { diff --git a/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigFactory.java b/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigFactory.java index e5dc7b103..539c1a4bb 100644 --- a/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigFactory.java +++ b/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigFactory.java @@ -36,17 +36,9 @@ public final class QuarkusConfigFactory extends SmallRyeConfigFactory { } public static void setConfig(SmallRyeConfig config) { - //This is a hack, but there is not a great deal that can be done about it - //it is possible that when running in test/dev mode some code will be run with the system TCCL - //e.g. when using the fork join pool - //if this happens any use of config will fail, as the system class loader will resolve the - //wrong instance of the config classes if (QuarkusConfigFactory.config != null) { ConfigProviderResolver.instance().releaseConfig(QuarkusConfigFactory.config); } - if (config != null) { - ConfigProviderResolver.instance().registerConfig(config, ClassLoader.getSystemClassLoader()); - } QuarkusConfigFactory.config = config; } }