我在我的应用程序中使用SpringBoot v 1.5.3,并添加了执行器health、 info 和 metrics,它们使用可用的端点工作正常。我需要获取我的应用程序的全局运行状况。
这是我的代码:
package com.test.health.indicator;
import java.util.Collections;
import org.springframework.boot.actuate.endpoint.HealthEndpoint;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.boot.actuate.info.Info;
import org.springframework.boot.actuate.info.InfoContributor;
import org.springframework.stereotype.Component;
import org.springframework.boot.actuate.health.Status;
@Component
public class healthContributorToInfo implements InfoContributor {
private HealthEndpoint healthEndpoint;
@Override
public void contribute(Info.Builder builder) {
Health health = ((HealthIndicator) this.healthEndpoint).health();
Status status = health.getStatus();
builder.withDetail("Health Indicator",
Collections.singletonMap("Global Satatus", Health.status(status.getCode())));
}
}
不幸的是,我的代码返回空异常,因为我没有得到健康状态对象。有人可以知道如何做到这一点。谢谢!