38 lines
1.5 KiB
Java

package com.banesco.infrastructure.healthcheck;
import jakarta.enterprise.context.ApplicationScoped;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Liveness;
@Liveness
@ApplicationScoped
@Slf4j
public class ApplicationLivenessCheck implements HealthCheck {
private final String applicationName;
private final String applicationVersion;
public ApplicationLivenessCheck(
@ConfigProperty(name = "quarkus.application.name", defaultValue = "api-application") String applicationName,
@ConfigProperty(name = "quarkus.application.version", defaultValue = "unknown") String applicationVersion) {
this.applicationName = applicationName;
this.applicationVersion = applicationVersion;
}
@Override
public HealthCheckResponse call() {
log.debug("Ejecutando liveness health check: {}", System.currentTimeMillis());
// Simplemente reportamos que la aplicación está activa
// Si este código se ejecuta, significa que la JVM está funcionando
return HealthCheckResponse.named("API")
.up()
.withData("application", applicationName)
.withData("version", applicationVersion)
.withData("timestamp", System.currentTimeMillis())
.build();
}
}