因此,我将Sping Boot Actuator添加到我的应用程序中,并在application.properties
属性中指定management.endpoint.health.cache.time-to-live=120s
来缓存健康检查结果。因此,当我调用/actuator/health
时,结果被缓存,并且很好。
当我调用/actuator/health/readiness
或自定义创建的组/actuator/health/deep
时,这个请求的结果没有被缓存。我浏览了Spring Docs,只找到了主健康端点的信息,没有特定组的信息。
所以我的问题是我错过了什么吗?或者我如何为特定的spring Boot actuator端点实现缓存?
谢谢
2条答案
按热度按时间xytpbqjk1#
所以我没有找到开箱即用的解决方案,所以决定使用AOP方法。
我发现了一个管理健康休息端点的
HealthEndpointWebExtension
类。这个类有两个健康方法,其中一个调用了公共/health
端点,第二个调用了health/<group name>
。所以我围绕第二个方法创建了Aspect,它允许我为需要的端点添加缓存。
application.properties
看起来像这样:nhjlsmyf2#
面对类似的挑战与React式堆栈
ReactiveHealthEndpointWebExtension
。这将是伟大的,如果你能够评论的方法,你使用的逻辑获得缓存每个端点和进程,如果缓存指定。