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());
}
});
}
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());
}
});
}
Aggregations