From fa9f124de95f2086886471eb71c62beac7158d3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Vav=C5=99=C3=ADk?= Date: Wed, 31 May 2023 18:32:53 +0200 Subject: [PATCH] Fix unavailable InifispanJsonRPCService bean --- .../devconsole/InfinispanDevUiProcessor.java | 3 ++- .../devconsole/InfinispanJsonRPCService.java | 7 ------- .../oidc/runtime/devui/OidcDevJsonRpcService.java | 3 --- .../quarkus/devui/deployment/DevUIProcessor.java | 5 ++++- .../devui/spi/JsonRPCProvidersBuildItem.java | 15 +++++++++++++++ 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devconsole/InfinispanDevUiProcessor.java b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devconsole/InfinispanDevUiProcessor.java index 6327fc36395f3..d3e2d29e757d2 100644 --- a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devconsole/InfinispanDevUiProcessor.java +++ b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devconsole/InfinispanDevUiProcessor.java @@ -2,6 +2,7 @@ import org.infinispan.commons.util.Version; +import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.deployment.IsDevelopment; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.devui.spi.JsonRPCProvidersBuildItem; @@ -42,6 +43,6 @@ public CardPageBuildItem infinispanServer() { @BuildStep(onlyIf = IsDevelopment.class) public JsonRPCProvidersBuildItem createJsonRPCService() { - return new JsonRPCProvidersBuildItem(InfinispanJsonRPCService.class); + return new JsonRPCProvidersBuildItem(InfinispanJsonRPCService.class, BuiltinScope.SINGLETON.getName()); } } diff --git a/extensions/infinispan-client/runtime/src/main/java/io/quarkus/infinispan/client/runtime/devconsole/InfinispanJsonRPCService.java b/extensions/infinispan-client/runtime/src/main/java/io/quarkus/infinispan/client/runtime/devconsole/InfinispanJsonRPCService.java index 78cc6622122f2..a0d3279c4aeb1 100644 --- a/extensions/infinispan-client/runtime/src/main/java/io/quarkus/infinispan/client/runtime/devconsole/InfinispanJsonRPCService.java +++ b/extensions/infinispan-client/runtime/src/main/java/io/quarkus/infinispan/client/runtime/devconsole/InfinispanJsonRPCService.java @@ -1,16 +1,9 @@ package io.quarkus.infinispan.client.runtime.devconsole; -import jakarta.inject.Singleton; - import io.quarkus.arc.Arc; -import io.quarkus.arc.Unremovable; -import io.quarkus.arc.profile.IfBuildProfile; import io.quarkus.logging.Log; import io.smallrye.common.annotation.NonBlocking; -@IfBuildProfile("dev") -@Unremovable -@Singleton public class InfinispanJsonRPCService { @NonBlocking diff --git a/extensions/oidc/runtime/src/main/java/io/quarkus/oidc/runtime/devui/OidcDevJsonRpcService.java b/extensions/oidc/runtime/src/main/java/io/quarkus/oidc/runtime/devui/OidcDevJsonRpcService.java index 8f674c41c320e..d2f023af83f6d 100644 --- a/extensions/oidc/runtime/src/main/java/io/quarkus/oidc/runtime/devui/OidcDevJsonRpcService.java +++ b/extensions/oidc/runtime/src/main/java/io/quarkus/oidc/runtime/devui/OidcDevJsonRpcService.java @@ -5,8 +5,6 @@ import java.time.Duration; import java.util.Map; -import jakarta.enterprise.context.ApplicationScoped; - import io.quarkus.arc.Arc; import io.quarkus.vertx.http.runtime.HttpConfiguration; import io.smallrye.common.annotation.NonBlocking; @@ -14,7 +12,6 @@ import io.smallrye.mutiny.Uni; import io.vertx.core.Vertx; -@ApplicationScoped public class OidcDevJsonRpcService { private final String authorizationUrl; diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java index c995e43333b4f..85c3630299591 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java @@ -241,10 +241,13 @@ void additionalBean(BuildProducer additionalBeanProduce Class c = jsonRPCProvidersBuildItem.getJsonRPCMethodProviderClass(); additionalIndexProducer.produce(new AdditionalIndexedClassesBuildItem(c.getName())); + DotName defaultBeanScope = jsonRPCProvidersBuildItem.getDefaultBeanScope() == null + ? BuiltinScope.APPLICATION.getName() + : jsonRPCProvidersBuildItem.getDefaultBeanScope(); additionalBeanProducer.produce(AdditionalBeanBuildItem.builder() .addBeanClass(c) - .setDefaultScope(BuiltinScope.APPLICATION.getName()) + .setDefaultScope(defaultBeanScope) .setUnremovable().build()); } diff --git a/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/JsonRPCProvidersBuildItem.java b/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/JsonRPCProvidersBuildItem.java index 184c9324c929f..0279faa9a2d64 100644 --- a/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/JsonRPCProvidersBuildItem.java +++ b/extensions/vertx-http/dev-ui-spi/src/main/java/io/quarkus/devui/spi/JsonRPCProvidersBuildItem.java @@ -1,23 +1,38 @@ package io.quarkus.devui.spi; +import org.jboss.jandex.DotName; + /** * This allows you to register a class that will provide data during runtime for JsonRPC Requests */ public final class JsonRPCProvidersBuildItem extends AbstractDevUIBuildItem { private final Class jsonRPCMethodProviderClass; + private final DotName defaultBeanScope; public JsonRPCProvidersBuildItem(Class jsonRPCMethodProviderClass) { super(); this.jsonRPCMethodProviderClass = jsonRPCMethodProviderClass; + this.defaultBeanScope = null; + } + + public JsonRPCProvidersBuildItem(Class jsonRPCMethodProviderClass, DotName defaultBeanScope) { + super(); + this.jsonRPCMethodProviderClass = jsonRPCMethodProviderClass; + this.defaultBeanScope = defaultBeanScope; } public JsonRPCProvidersBuildItem(String customIdentifier, Class jsonRPCMethodProviderClass) { super(customIdentifier); this.jsonRPCMethodProviderClass = jsonRPCMethodProviderClass; + this.defaultBeanScope = null; } public Class getJsonRPCMethodProviderClass() { return jsonRPCMethodProviderClass; } + + public DotName getDefaultBeanScope() { + return defaultBeanScope; + } }