@Override
    public void start(Future<Void> start) {
        super.start(start);
        base = new DeploymentOptions().setConfig(config());

        @SuppressWarnings({ "rawtypes" }) // CompositeFuture doesn't accept generic type
        List<Future> deployList = new ArrayList<>();

        deploy(ApiVerticle.class.getCanonicalName(), ApiVerticle.VERTICLE_TYPE, deployList);
        deploy(HttpGatewayVerticle.class.getCanonicalName(), HttpGatewayVerticle.VERTICLE_TYPE, deployList);
        deploy(HttpsGatewayVerticle.class.getCanonicalName(), HttpsGatewayVerticle.VERTICLE_TYPE, deployList);

        CompositeFuture.all(deployList).setHandler(compositeResult -> {
            if (compositeResult.failed()) {
                compositeResult.cause().printStackTrace();
                log.fatal("Failed to deploy verticles: " + compositeResult.cause().getMessage());
                start.fail(compositeResult.cause());
            } else {
                log.info("Apiman Version: {0}", ApimanVersionCommand.getApimanVersion());
                if (log.isDebugEnabled()) log.debug("Git commit info: {0}", Version.get().getVerbose());
                log.info("Vert.x Version: {0}", VersionCommand.getVersion());

                log.info("Successfully deployed all verticles");
                log.info("Gateway API port: {0}", apimanConfig.getPort(ApiVerticle.VERTICLE_TYPE));

                start.complete();
            }
        });
    }
Initialiser verticle

@author Marc Savy {@literal <msavy@redhat.com>}
gateway/platforms/vertx3/vertx3/src/main/java/io/apiman/gateway/platforms/vertx3/verticles/InitVerticle.java