执行器运行状况返回“数据库关闭”时的日志

时间:2019-09-23 22:22:58

标签: spring-boot spring-boot-actuator

如果数据库关闭,我们想生成CloudWatch警报,因此,我尝试查看是否可以解析执行器/运行状况端点的响应,并在响应返回数据库关闭的情况下记录自定义错误代码。

我在StackOverflow上发现了一些类似的问题,但是那里没有提供解决方案。

1 个答案:

答案 0 :(得分:0)

如果其他人也想这样做,我想在这里发布答案 经过一堆研究,我发现有两种方法可以做到这一点。

  1. 使用过滤器-使用ContentCachingResponseWrapper缓存响应,使用对象映射器读取响应,然后使用contentCachingResponseWrapper.copyBodyToResponse()重新填充响应。在查看spring-boot git存储库的问题时,看起来可以进行拦截器,但似乎很麻烦,引导团队建议使用过滤器。

  2. 使用自定义运行状况指示器-自动连接ApplicationContext并获取Spring bean DataSourceHealthIndicator的所有权,然后在其上调用health()函数。

我有两种工作方式,但我继续执行#1,因为#2将进行两次数据库运行状况检查。