自从更新我的 application.properties 以包括
management.endpoint.health.group.liveness.include=livenessstate,db
management.endpoint.health.group.readiness.include=readinessstate,db
我遇到了状态和活跃/就绪状态正确更新的问题。
在我的测试中,如果我手动发布 AvailabilityChangeEvent(即:
AvailabilityChangeEvent.publish(context, LivenessState.BROKEN);
),即使数据库没有关闭,我仍然期望状态为 DOWN。但自从包含了 DB 后,状态仍然是 UP (java.lang.AssertionError: Status expected:<503> but was:<200>
)。如果我从 readiness/liveness.include 中删除数据库,情况就不是这样了。
此外,在手动测试中,我尝试运行我的应用程序并关闭数据库,这使得状态返回 DOWN(理应如此),但 livenessstate/readinessstate 显示 CORRECT/ACCEPTING_TRAFFIC。
这似乎不是预期的行为。
注意:SpringBoot版本2.7.12