fix: simplifying/docing places where the config is initted (#41949)

closes: #25668

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
Steven Hawkins 2025-08-19 03:58:32 -04:00 committed by GitHub
parent 2ce3474ed5
commit b7aaf80433
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View File

@ -233,7 +233,10 @@ class KeycloakProcessor {
@BuildStep
@Produce(ConfigBuildItem.class)
void initConfig(KeycloakRecorder recorder) {
// other buildsteps directly use the Config
// so directly init it
Config.init(new MicroProfileConfigProvider());
// also init in byte code for the actual server start
recorder.initConfig();
}
@ -628,6 +631,7 @@ class KeycloakProcessor {
*/
@Record(ExecutionTime.STATIC_INIT)
@BuildStep
@Consume(ConfigBuildItem.class)
@Consume(CryptoProviderInitBuildItem.class)
@Produce(KeycloakSessionFactoryPreInitBuildItem.class)
void configureKeycloakSessionFactory(KeycloakRecorder recorder, List<PersistenceXmlDescriptorBuildItem> descriptors) {
@ -882,7 +886,6 @@ class KeycloakProcessor {
private Map<Spi, Map<Class<? extends Provider>, Map<String, ProviderFactory>>> loadFactories(
Map<String, ProviderFactory> preConfiguredProviders) {
Config.init(new MicroProfileConfigProvider());
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
ProviderManager pm = getProviderManager(classLoader);
Map<Spi, Map<Class<? extends Provider>, Map<String, ProviderFactory>>> factories = new HashMap<>();

View File

@ -91,7 +91,8 @@ public abstract class AbstractUpdatesCommand extends AbstractStartCommand {
}
private static void loadConfiguration() {
// Initialize config
// Initialize config without directly referencing MicroProfileConfigProvider
// as that currently causing classloading issue during command creation
var configProvider = ServiceLoader.load(ConfigProviderFactory.class)
.stream()
.findFirst()