Spring-boot-Antrieb die Gesundheit Endpunkt

Habe ich erstellen einer PostgreSQL-Gesundheit-Anzeige wie diese:

@Component
public class PostgresHealthIndicator extends AbstractHealthIndicator {

    @Autowired
    DataSource postgresDataSource;

    public DataSourceHealthIndicator dbHealthIndicator() {
        DataSourceHealthIndicator indicator = new DataSourceHealthIndicator(postgresDataSource);
        return indicator;
    }

    @Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        Health h = dbHealthIndicator().health();
        Status status = h.getStatus();
        if (status != null && "DOWN".equals(status.getCode())) {
            builder.down();
        } else {
            builder.up();
        }
    }
}

In meinem Application.java ich bin das Scannen dieses Paket für diese Komponente:

@ComponentScan({"com.bp.health"})

In meiner Anwendung.Eigenschaften habe ich Folgendes set:

endpoints.health.sensitive=false
endpoints.health.id=health
endpoints.health.enabled=true

wenn ich drücken Sie {url}/Gesundheit ich sehe:

{"status":"DOWN"}

was muss ich tun, um die benutzerdefinierten Indikator für die Gesundheit zu zeigen?

Schreibe einen Kommentar