From 6f861826625a88f239e19b2466c06b797543a3d6 Mon Sep 17 00:00:00 2001 From: mysmolthing Date: Mon, 3 Jul 2023 03:09:01 +0800 Subject: [PATCH] Add healthchecks --- .../backend/starter/HealthCheckManager.java | 12 ++++++++++ .../com/backend/starter/MainVerticle.java | 23 ++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/backend/starter/HealthCheckManager.java diff --git a/src/main/java/com/backend/starter/HealthCheckManager.java b/src/main/java/com/backend/starter/HealthCheckManager.java new file mode 100644 index 0000000..ba3d1d3 --- /dev/null +++ b/src/main/java/com/backend/starter/HealthCheckManager.java @@ -0,0 +1,12 @@ +package com.backend.starter; + +import io.vertx.ext.healthchecks.HealthCheckHandler; +import io.vertx.ext.healthchecks.Status; + +public class HealthCheckManager { + public static void configureHealthChecks(HealthCheckHandler healthCheckHandler) { + healthCheckHandler.register("App connection", promise -> { + promise.complete(Status.OK()); + }); + } +} diff --git a/src/main/java/com/backend/starter/MainVerticle.java b/src/main/java/com/backend/starter/MainVerticle.java index 491c19f..0e6bcc2 100644 --- a/src/main/java/com/backend/starter/MainVerticle.java +++ b/src/main/java/com/backend/starter/MainVerticle.java @@ -2,19 +2,30 @@ import io.vertx.core.AbstractVerticle; import io.vertx.core.Promise; +import io.vertx.ext.healthchecks.HealthCheckHandler; +import io.vertx.ext.healthchecks.HealthChecks; +import io.vertx.ext.web.Router; public class MainVerticle extends AbstractVerticle { @Override public void start(Promise startPromise) throws Exception { - vertx.createHttpServer().requestHandler(req -> { - req.response() - .putHeader("content-type", "text/plain") - .end("Hello from Vert.x!"); - }).listen(8888, http -> { + HealthCheckHandler healthCheckHandler = HealthCheckHandler + .createWithHealthChecks(HealthChecks.create(vertx)); + HealthCheckManager.configureHealthChecks(healthCheckHandler); + + Router router = Router.router(vertx); + router.get("/ping").handler(healthCheckHandler); + router.get("/*").handler(routingContext -> { + routingContext.response() + .putHeader("content-type", "text/plain; charset=utf-8") + .end("Hello smolthing \uD83D\uDCA9."); + }); + + vertx.createHttpServer().requestHandler(router).listen(8888, http -> { if (http.succeeded()) { startPromise.complete(); - System.out.println("HTTP server started on port 8888"); + System.out.println("HTTP server is running on port 8888"); } else { startPromise.fail(http.cause()); }