diff --git a/redisson-quarkus/redisson-quarkus-16/deployment/src/main/java/io/quarkus/redisson/client/deployment/QuarkusRedissonClientProcessor.java b/redisson-quarkus/redisson-quarkus-16/deployment/src/main/java/io/quarkus/redisson/client/deployment/QuarkusRedissonClientProcessor.java index 91216589322..8b34fa1fc5d 100644 --- a/redisson-quarkus/redisson-quarkus-16/deployment/src/main/java/io/quarkus/redisson/client/deployment/QuarkusRedissonClientProcessor.java +++ b/redisson-quarkus/redisson-quarkus-16/deployment/src/main/java/io/quarkus/redisson/client/deployment/QuarkusRedissonClientProcessor.java @@ -28,14 +28,8 @@ import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; import io.quarkus.redisson.client.runtime.RedissonClientProducer; import io.quarkus.redisson.client.runtime.RedissonClientRecorder; -import io.quarkus.runtime.Quarkus; -import org.eclipse.microprofile.config.ConfigProvider; -import org.redisson.config.PropertiesConvertor; import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.Optional; /** * @@ -88,24 +82,7 @@ void addConfig(BuildProducer nativeResources, @BuildStep @Record(ExecutionTime.RUNTIME_INIT) RedissonClientItemBuild build(RedissonClientRecorder recorder) throws IOException { - InputStream configStream; - Optional configFile = ConfigProvider.getConfig().getOptionalValue("quarkus.redisson.file", String.class); - if (configFile.isPresent()) { - configStream = getClass().getResourceAsStream(configFile.get()); - } else { - configStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("redisson.yaml"); - } - if (configStream != null) { - byte[] array = new byte[configStream.available()]; - configStream.read(array); - recorder.configureRedisson(new String(array, StandardCharsets.UTF_8)); - } else { - String yaml = PropertiesConvertor.toYaml("quarkus.redisson.", ConfigProvider.getConfig().getPropertyNames(), prop -> { - return ConfigProvider.getConfig().getValue(prop, String.class); - }); - recorder.configureRedisson(yaml); - } - + recorder.createProducer(); return new RedissonClientItemBuild(); } diff --git a/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientProducer.java b/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientProducer.java index 12dafb25319..aed360eafb6 100644 --- a/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientProducer.java +++ b/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientProducer.java @@ -16,15 +16,20 @@ package io.quarkus.redisson.client.runtime; import io.quarkus.arc.DefaultBean; +import org.eclipse.microprofile.config.ConfigProvider; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; +import org.redisson.config.PropertiesConvertor; import javax.annotation.PreDestroy; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.inject.Produces; import javax.inject.Singleton; import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.Optional; /** * @@ -34,24 +39,38 @@ @ApplicationScoped public class RedissonClientProducer { - private String config; private RedissonClient redisson; @Produces @Singleton @DefaultBean public RedissonClient create() throws IOException { - if (config != null){ - Config c = Config.fromYAML(config); - redisson = Redisson.create(c); + InputStream configStream; + Optional configFile = ConfigProvider.getConfig().getOptionalValue("quarkus.redisson.file", String.class); + if (configFile.isPresent()) { + configStream = getClass().getResourceAsStream(configFile.get()); } else { - redisson = Redisson.create(); + configStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("redisson.yaml"); } + String config; + if (configStream != null) { + byte[] array = new byte[configStream.available()]; + configStream.read(array); + config = new String(array, StandardCharsets.UTF_8); + } else { + String yaml = PropertiesConvertor.toYaml("quarkus.redisson.", ConfigProvider.getConfig().getPropertyNames(), prop -> { + return ConfigProvider.getConfig().getValue(prop, String.class); + }); + config = yaml; + } + + Config c = Config.fromYAML(config); + redisson = Redisson.create(c); return redisson; } - public void setConfig(String config) { - this.config = config; + public void setConfig(org.eclipse.microprofile.config.Config config) { + } @PreDestroy diff --git a/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientRecorder.java b/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientRecorder.java index 04bf01b157d..b7e8286eca6 100644 --- a/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientRecorder.java +++ b/redisson-quarkus/redisson-quarkus-16/runtime/src/main/java/io/quarkus/redisson/client/runtime/RedissonClientRecorder.java @@ -26,9 +26,8 @@ @Recorder public class RedissonClientRecorder { - public void configureRedisson(String config) { - RedissonClientProducer producer = Arc.container().instance(RedissonClientProducer.class).get(); - producer.setConfig(config); + public void createProducer() { + Arc.container().instance(RedissonClientProducer.class).get(); } }