Class ConfigProviderResolverSync
- java.lang.Object
-
- org.eclipse.microprofile.config.spi.ConfigProviderResolver
-
- fish.payara.nucleus.microprofile.config.spi.ConfigProviderResolverSync
-
public class ConfigProviderResolverSync extends org.eclipse.microprofile.config.spi.ConfigProviderResolver
This class was created to resolve race condition, caused by independent parallel initialization of the server components, where some may init undesired automatical service lookup. That lookup should lead to this class, which will block all requests until this global resolver instance provided by theConfigProviderResolver.instance()
would be replaced by the HK2 service.The problem cannot be resolved by any other way, because Microprofile components use the global service mechanism, which is not capable to inject HK2 dependencies.
- Author:
- Patrik Dudits, David Matejcek
-
-
Constructor Summary
Constructors Constructor Description ConfigProviderResolverSync()
Logs the creation of this class on finest level.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.microprofile.config.spi.ConfigBuilder
getBuilder()
org.eclipse.microprofile.config.Config
getConfig()
org.eclipse.microprofile.config.Config
getConfig(ClassLoader loader)
void
registerConfig(org.eclipse.microprofile.config.Config config, ClassLoader classLoader)
void
releaseConfig(org.eclipse.microprofile.config.Config config)
-
-
-
Method Detail
-
getConfig
public org.eclipse.microprofile.config.Config getConfig()
- Specified by:
getConfig
in classorg.eclipse.microprofile.config.spi.ConfigProviderResolver
-
getConfig
public org.eclipse.microprofile.config.Config getConfig(ClassLoader loader)
- Specified by:
getConfig
in classorg.eclipse.microprofile.config.spi.ConfigProviderResolver
-
getBuilder
public org.eclipse.microprofile.config.spi.ConfigBuilder getBuilder()
- Specified by:
getBuilder
in classorg.eclipse.microprofile.config.spi.ConfigProviderResolver
-
registerConfig
public void registerConfig(org.eclipse.microprofile.config.Config config, ClassLoader classLoader)
- Specified by:
registerConfig
in classorg.eclipse.microprofile.config.spi.ConfigProviderResolver
-
releaseConfig
public void releaseConfig(org.eclipse.microprofile.config.Config config)
- Specified by:
releaseConfig
in classorg.eclipse.microprofile.config.spi.ConfigProviderResolver
-
-