Example usage for io.vertx.core Vertx undeploy

List of usage examples for io.vertx.core Vertx undeploy

Introduction

In this page you can find the example usage for io.vertx.core Vertx undeploy.

Prototype

void undeploy(String deploymentID, Handler<AsyncResult<Void>> completionHandler);

Source Link

Document

Like #undeploy(String) but the completionHandler will be notified when the undeployment is complete.

Usage

From source file:com.foreks.vertx.launcher.ClusteredVertxFactory.java

License:Apache License

public void beforeLeaveUndeploy(Vertx vertx) {
    Observable.fromIterable(vertx.deploymentIDs()).flatMapCompletable(id -> Completable.fromSingle(s -> {
        vertx.undeploy(id, s::onSuccess);
    })).doOnComplete(latch::countDown).subscribe();
    try {/*from  w ww  . j a va  2  s . c o  m*/
        latch.await(30000, TimeUnit.MILLISECONDS);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

From source file:examples.CoreExamples.java

License:Open Source License

public void example11(Vertx vertx, String deploymentID) {
    vertx.undeploy(deploymentID, res -> {
        if (res.succeeded()) {
            System.out.println("Undeployed ok");
        } else {/*from   w ww.  j  a v a 2 s. co  m*/
            System.out.println("Undeploy failed!");
        }
    });
}

From source file:io.flowly.core.verticles.VerticleUtils.java

License:Open Source License

private static void undeployVerticles(Iterator<String> deployementIds, Vertx vertx,
        Future<Void> undeployedFuture) {
    // Ensure that vertx platform has the deployment ids.
    // The list specified by the caller might be stale.
    List<String> actualDeploymentIds = new ArrayList<>();
    Set<String> vertxDeploymentIds = vertx.deploymentIDs();

    while (deployementIds.hasNext()) {
        String deploymentId = deployementIds.next();
        if (vertxDeploymentIds.contains(deploymentId)) {
            actualDeploymentIds.add(deploymentId);
        }/*from   w w  w.j  a  va 2 s  .  c  om*/
    }

    if (actualDeploymentIds.isEmpty()) {
        undeployedFuture.complete();
    } else {
        AtomicInteger counter = new AtomicInteger(0);

        for (String deploymentId : actualDeploymentIds) {
            vertx.undeploy(deploymentId, d -> {
                if (d.succeeded()) {
                    if (counter.incrementAndGet() == actualDeploymentIds.size()) {
                        undeployedFuture.complete();
                    }
                } else if (!undeployedFuture.failed()) {
                    undeployedFuture.fail(d.cause());
                }
            });
        }
    }
}

From source file:io.github.bckfnn.actioner.Main.java

License:Apache License

public static void deploy(Class<? extends Verticle> verticle, String configName, String[] args,
        Handler<Vertx> result) throws Exception {
    if (args.length >= 1 && args[0].equals("stop")) {
        System.out.println("stopping");
        System.exit(1);/*from   ww  w  .  ja v  a 2 s.  com*/
    }

    System.setProperty("appConfig", configName);
    System.setProperty("vertx.logger-delegate-factory-class-name",
            "io.vertx.core.logging.SLF4JLogDelegateFactory");
    System.setProperty("vertx.disableFileCaching", "true");

    Config config = loadConfig();
    boolean develop = config.getBoolean("develop");

    checkEndorsed(config, args);

    VertxOptions vertxOptions = new VertxOptions();
    vertxOptions.setWorkerPoolSize(config.getInt("workerPoolSize"));

    if (config.hasPath("metrics")) {
        DropwizardMetricsOptions opt = new DropwizardMetricsOptions();
        opt.setEnabled(config.getBoolean("metrics.enabled"));
        opt.setRegistryName(config.getString("metrics.registryName"));
        opt.addMonitoredHttpServerUri(new Match().setValue(".*").setType(MatchType.REGEX));
        opt.addMonitoredHttpClientUri(new Match().setValue(".*").setType(MatchType.REGEX));
        opt.addMonitoredEventBusHandler(new Match().setValue(".*").setType(MatchType.REGEX));
        vertxOptions.setMetricsOptions(opt);
    }
    Vertx vertx = Vertx.vertx(vertxOptions);

    /*
    MetricRegistry registry = SharedMetricRegistries.getOrCreate("vertxRegistry");
            
    ConsoleReporter rep = ConsoleReporter.forRegistry(registry)
        .convertRatesTo(TimeUnit.SECONDS)
        .convertDurationsTo(TimeUnit.MILLISECONDS)
        .build();
    rep.start(10, TimeUnit.SECONDS);
     */
    /*
    System.out.println(vertx);
    MetricsService metricsService = MetricsService.create(vertx);
    JsonObject metrics = metricsService.getMetricsSnapshot(vertx);
    System.out.println("xx:" + metrics);
    System.out.println("xx:" + AbstractMetrics.class.getClassLoader());
     */
    DeploymentOptions opts = new DeploymentOptions();
    opts.setInstances(config.getInt("instances"));
    if (develop) {
        opts.setIsolatedClasses(config.getStringList("isolatedClasses"));
    }

    AtomicReference<String> deploymentId = new AtomicReference<>();

    Function<Handler<Vertx>, Void> deploy = h -> {
        if (develop) {
            opts.setIsolationGroup("ethics" + System.currentTimeMillis());
        }
        vertx.deployVerticle(verticle.getName(), opts, res -> {
            if (res.succeeded()) {
                deploymentId.set(res.result());
                h.handle(vertx);
            } else {
                res.cause().printStackTrace();
            }
        });
        return null;
    };

    deploy.apply(result);
    if (develop) {
        redeploy(() -> {
            vertx.undeploy(deploymentId.get(), r -> {
                deploy.apply(h -> {
                    System.err.println("redeployed!");
                });
            });
        });
    }
}