diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java index 7a4162993ff96..978f4611195b7 100644 --- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java +++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java @@ -38,13 +38,8 @@ import io.quarkus.arc.InjectableBean; import io.quarkus.arc.InjectableContext; import io.quarkus.arc.InjectableReferenceProvider; -import io.quarkus.arc.deployment.AnnotationsTransformerBuildItem; -import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem; -import io.quarkus.arc.deployment.BeanContainerBuildItem; -import io.quarkus.arc.deployment.CustomScopeAnnotationsBuildItem; -import io.quarkus.arc.deployment.UnremovableBeanBuildItem; +import io.quarkus.arc.deployment.*; import io.quarkus.arc.deployment.UnremovableBeanBuildItem.BeanClassAnnotationExclusion; -import io.quarkus.arc.deployment.ValidationPhaseBuildItem; import io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem; import io.quarkus.arc.impl.CreationalContextImpl; import io.quarkus.arc.processor.AnnotationStore; @@ -326,11 +321,7 @@ void addAdditionalRoutes( } detectConflictingRoutes(matchers); - } - @BuildStep - @Record(ExecutionTime.RUNTIME_INIT) - void initRouteHandlers(VertxWebRecorder recorder, BeanContainerBuildItem container) { recorder.initHandlers(); } diff --git a/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java b/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java index 8efc269d3c7f8..ac0bd96078f36 100644 --- a/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java +++ b/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java @@ -1,8 +1,8 @@ package io.quarkus.vertx.web.runtime; import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Function; import io.quarkus.runtime.annotations.Recorder; @@ -15,7 +15,7 @@ @Recorder public class VertxWebRecorder { - static volatile List handlers = new ArrayList<>(); + private final List handlers = new CopyOnWriteArrayList<>(); @SuppressWarnings("unchecked") public Handler createHandler(String handlerClassName) {