В Spring-Boot 2.4 у меня возникла проблема с конечной точкой работоспособности привода и проверкой готовности. Когда один из моих пользовательских ключевых компонентов не работает, конечная точка /health/readiness
говорит DOWN
, а конечная точка /health
тоже, но деталь readinessState
/health
по-прежнему говорит UP
.
Почему так? Разве readinessState
не должен сказать и DOWN
?
Ни один из многих учебников, которые я нашел в Интернете, похоже, не затрагивает этот вопрос.
Моя гипотеза: readinessState
не имеет ничего общего с готовностью и предоставляет другую информацию. Надеюсь, я ошибаюсь, потому что это было бы бессмысленно, и я понимаю код, кажется, указывает на обратное.
Подробнее о моей конфигурации:
Соответствующая выдержка из application.yml
management:
endpoints:
web:
base-path: /
endpoint:
health:
show-details: ALWAYS
probes:
enabled: true
group:
readiness:
include: db, myCustom, diskSpace
И когда я делаю myCustom
перейти DOWN
, появляются следующие результаты:
GET /health
{
"status": "DOWN",
"components": {
..., // other components
"myCustom": {
"status": "DOWN"
},
"readinessState": {
"status": "UP" // here UP
}
},
"groups": [
"liveness",
"readiness"
]
}
GET /health/readiness
{
"status": "DOWN", // but here DOWN
"components": {
..., // other components
"myCustom": {
"status": "DOWN"
}
}
}