package io.quarkus.vertx.web.runtime;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Singleton;

import io.vertx.ext.web.Router;

@Singleton
public class RouterProducer {

    private volatile Router router;

    void initialize(Router router) {
        this.router = router;
    }

    // Note that we need a client proxy because if a bean also @Observes Router a null value would be injected 
    @ApplicationScoped
    @Produces
    Router produceRouter() {
        return router;
    }

    @ApplicationScoped
    @Produces
    io.vertx.reactivex.ext.web.Router produceRxRouter() {
        return io.vertx.reactivex.ext.web.Router.newInstance(router);
    }

}

@@ -554,178 +554,6 @@
  %7D%0A%0A
-    @ApplicationScoped%0A    @Produces%0A    io.vertx.reactivex.ext.web.Router produceRxRouter() %7B%0A        return io.vertx.reactivex.ext.web.Router.newInstance(router);%0A    %7D%0A%0A
 %7D%0A

Remove CDI producer for io.vertx.reactivex.ext.web.Router