Search in sources :

Example 1 with HealthChecks

use of io.vertx.ext.healthchecks.HealthChecks in project vertx-openshift-it by cescoffier.

the class HealthCheckHttpVerticle method start.

@Override
public void start(Future<Void> future) throws Exception {
    Router router = Router.router(vertx);
    final EventBus eventBus = vertx.eventBus();
    HealthChecks testHealthChecks = HealthChecks.create(vertx);
    router.get("/health").handler(HealthCheckHandler.createWithHealthChecks(testHealthChecks));
    router.get(RESET).handler(rc -> {
        testHealthChecks.unregister("checks");
        respondOk(rc);
    });
    router.get("/" + CHECKS_OK).handler(rc -> {
        testHealthChecks.register(CHECKS_OK, fut -> fut.complete(Status.OK()));
        respondOk(rc);
    });
    router.get("/" + CHECKS_KO).handler(rc -> {
        testHealthChecks.register(CHECKS_KO, fut -> fut.complete(Status.KO()));
        respondOk(rc);
    });
    router.get("/" + CHECKS_CONTENT_OK).handler(rc -> {
        testHealthChecks.register(CHECKS_CONTENT_OK, fut -> fut.complete(Status.KO()));
        respondOk(rc);
    });
    router.get("/" + CHECKS_CONTENT_KO).handler(rc -> {
        testHealthChecks.register(CHECKS_CONTENT_KO, fut -> fut.complete(Status.KO()));
        respondOk(rc);
    });
    router.get("/" + EVENTBUS_CHECKS).handler(rc -> {
        testHealthChecks.invoke(json -> {
            rc.response().end(json.encodePrettily());
        });
    });
    router.get("/" + REAL_CHECKS_THROW_EXCEPTION).handler(rc -> {
        eventBus.publish(REAL_CHECKS_THROW_EXCEPTION, null);
        respondOk(rc);
    });
    router.get("/" + REAL_CHECKS_TIMEOUT).handler(rc -> {
        eventBus.publish(REAL_CHECKS_TIMEOUT, null);
        respondOk(rc);
    });
    router.get("/killOne").handler(rc -> {
        eventBus.send("kill", "kill");
        respondOk(rc);
    });
    router.get("/killAll").handler(rc -> {
        eventBus.publish("kill", "kill");
        respondOk(rc);
    });
    vertx.createHttpServer().requestHandler(router::accept).listen(8080, handler -> {
        if (handler.succeeded()) {
            future.complete();
        } else {
            future.fail(handler.cause());
        }
    });
}
Also used : HealthChecks(io.vertx.ext.healthchecks.HealthChecks) Router(io.vertx.ext.web.Router) EventBus(io.vertx.core.eventbus.EventBus)

Example 2 with HealthChecks

use of io.vertx.ext.healthchecks.HealthChecks in project vertx-openshift-it by cescoffier.

the class RealHealthCheckHttpVerticle method start.

@Override
public void start(Future<Void> future) throws Exception {
    Router internalRouter = Router.router(vertx);
    HealthChecks globalHealthChecks = HealthChecks.create(vertx);
    final HealthCheckHandler globalHealthChecksHandler = HealthCheckHandler.createWithHealthChecks(globalHealthChecks);
    internalRouter.get("/isAlive").handler(globalHealthChecksHandler);
    internalRouter.get("/start").handler(globalHealthChecksHandler);
    vertx.eventBus().consumer(KILL, m -> globalHealthChecks.register(m.body().toString(), f -> f.fail(m.body().toString())));
    vertx.eventBus().consumer(HealthCheckHttpVerticle.REAL_CHECKS_TIMEOUT, m -> globalHealthChecks.register(HealthCheckHttpVerticle.REAL_CHECKS_TIMEOUT, f -> {
    }));
    vertx.eventBus().consumer(HealthCheckHttpVerticle.REAL_CHECKS_THROW_EXCEPTION, m -> globalHealthChecks.register(HealthCheckHttpVerticle.REAL_CHECKS_THROW_EXCEPTION, f -> {
        throw new IllegalArgumentException();
    }));
    vertx.createHttpServer().requestHandler(internalRouter::accept).listen(8088, handler -> {
        if (handler.succeeded()) {
            future.complete();
        } else {
            future.fail(handler.cause());
        }
    });
}
Also used : HealthCheckHandler(io.vertx.ext.healthchecks.HealthCheckHandler) AbstractVerticle(io.vertx.core.AbstractVerticle) HealthChecks(io.vertx.ext.healthchecks.HealthChecks) Router(io.vertx.ext.web.Router) Future(io.vertx.core.Future) HealthChecks(io.vertx.ext.healthchecks.HealthChecks) Router(io.vertx.ext.web.Router) HealthCheckHandler(io.vertx.ext.healthchecks.HealthCheckHandler)

Aggregations

HealthChecks (io.vertx.ext.healthchecks.HealthChecks)2 Router (io.vertx.ext.web.Router)2 AbstractVerticle (io.vertx.core.AbstractVerticle)1 Future (io.vertx.core.Future)1 EventBus (io.vertx.core.eventbus.EventBus)1 HealthCheckHandler (io.vertx.ext.healthchecks.HealthCheckHandler)1