通过Sprig Boot 应用程序,是否可以直接访问执行器/健康数据,而无需进行rest调用并解析结果?
理想情况下,我可以自动连接bean,然后能够通过方法调用获取健康数据的对象表示。
例如,如果我的健康端点显示如下内容:
{
"status": "UP",
"components": {
"db": {
"status": "UP",
"details": {
"database": "PostgreSQL",
"result": 1,
"validationQuery": "SELECT 1"
}
},
"diskSpace": {
"status": "UP",
"details": {
"total": 499963174912,
"free": 389081399296,
"threshold": 10485760
}
},
"ping": {
"status": "UP"
},
"redis": {
"status": "UP",
"details": {
"version": "3.2.12"
}
}
}
}
那么,我可以自动连接哪些组件来找出这些信息中的每一位呢?
4条答案
按热度按时间vdgimpew1#
此外,信息和健康点在actuator中默认是启用的,您不需要手动公开它们。当您将依赖项添加到pom.xml时,它将被启用,您可以访问url端点而无需公开它们
klh5stk12#
这个例子使用HealthContributorRegistry来检索HealthIndicator的名称。它还考虑了CompositeHealthContributors。
nnsrf1az3#
也许有更好的方法来获得健康数据,但这对我很有效。
输出示例:
要模拟HealthContributor [],您可以尝试使用Mockito如下:
dbf7pr2w4#
当然,您可以注入相应的
Endpoint
。例如,如果您对HealthEndpoint
感兴趣,您可以: