From 57095af55bddc36bb830448e505098464beec39c Mon Sep 17 00:00:00 2001 From: Foivos Zakkak Date: Thu, 21 Nov 2024 18:46:45 +0200 Subject: [PATCH] Register provider accessed by SmallRyeHealthReporter `META-INF/services/jakarta.json.spi.JsonProvider` is accessed as a resource by SmallRyeHealthReporter. --- .../health/deployment/SmallRyeHealthProcessor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java index 3c0dfedea87ade..f2034c408e9a62 100644 --- a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java +++ b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java @@ -43,6 +43,7 @@ import io.quarkus.deployment.builditem.RunTimeConfigurationDefaultBuildItem; import io.quarkus.deployment.builditem.ShutdownContextBuildItem; import io.quarkus.deployment.builditem.ShutdownListenerBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem; import io.quarkus.deployment.shutdown.ShutdownBuildTimeConfig; import io.quarkus.deployment.util.ServiceUtil; import io.quarkus.kubernetes.spi.KubernetesHealthLivenessPathBuildItem; @@ -162,7 +163,8 @@ void healthCheck(BuildProducer buildItemBuildProducer, void build(SmallRyeHealthRecorder recorder, BuildProducer excludedTypes, BuildProducer additionalBean, - BuildProducer beanDefiningAnnotation) + BuildProducer beanDefiningAnnotation, + BuildProducer serviceProviders) throws IOException, ClassNotFoundException { // Discover the beans annotated with @Health, @Liveness, @Readiness, @Startup, @HealthGroup, @@ -179,6 +181,9 @@ void build(SmallRyeHealthRecorder recorder, excludedTypes.produce(new ExcludedTypeBuildItem(AsyncHealthCheckFactory.class.getName())); additionalBean.produce(new AdditionalBeanBuildItem(SmallRyeHealthReporter.class)); + // Register META-INF/services/jakarta.json.spi.JsonProvider as a resource, accessed by SmallRyeHealthReporter + serviceProviders.produce(new NativeImageResourceBuildItem("META-INF/services/jakarta.json.spi.JsonProvider")); + // Make ArC discover @HealthGroup as a qualifier additionalBean.produce(new AdditionalBeanBuildItem(HealthGroup.class));