package org.kalipo.config.metrics; import org.springframework.boot.actuate.health.AbstractHealthIndicator; import org.springframework.boot.actuate.health.Health; import org.springframework.data.mongodb.core.MongoTemplate; /** * SpringBoot Actuator HealthIndicator check for the Database. */ public class DatabaseHealthIndicator extends AbstractHealthIndicator { private MongoTemplate mongoTemplate; public DatabaseHealthIndicator(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } @Override protected void doHealthCheck(Health.Builder builder) throws Exception { try { if (mongoTemplate.getDb().getStats().ok()) { builder.up().withDetail("mongodb", "ok"); } else { builder.down().withDetail("mongodb", "error"); } } catch (Exception e) { builder.down(e); } } }