gpt4 book ai didi

spring-boot - 未连接邮件服务器时 Jhipster Health Endpoint 失败

转载 作者:行者123 更新时间:2023-12-04 11:22:02 24 4
gpt4 key购买 nike

JHipster/Spring boot 提供了一个很好的端点 /management/health ,它在其中聚合了 db、磁盘和邮件等子系统的健康信息。
不幸的是,当与邮件服务器的连接失败时,整个端点都会失败。所以你没有得到失败的信息。

我得到这样的轨迹:

o.s.b.a.health.MailHealthIndicator       : Health check failed

com.sun.mail.util.MailConnectException: Couldn't connect to host, port: XXXX, NNNN25025; timeout -1
...
at org.springframework.boot.actuate.health.MailHealthIndicator.doHealthCheck(MailHealthIndicator.java:40)
at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:43)
at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:85)
at org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.getCurrentHealth(HealthMvcEndpoint.java:177)
at org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.getHealth(HealthMvcEndpoint.java:166)
at org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(HealthMvcEndpoint.java:143)

这是 Spring Boot 1.5.9
我应该在哪里解决这个问题,以便捕获异常并返回错误状态?

最佳答案

您必须打开 SMTP 服务器或禁用对它的检查。

要禁用对 SMTP 服务器的检查:

management.health.mail.enabled=false

要禁用对所有服务器的检查:
management.health.defaults.enabled=false

如需更多信息,请参阅 http://www.briansjavablog.com/2017/09/health-checks-metric-s-more-with-spring.html

我相信你可以使用 ExceptionHandler for 1.5.9 version of Spring Boot 来处理这个错误,因为较新的版本没有这样的问题:
     @ControllerAdvice
public class ExceptionController {

@ExceptionHandler(MailConnectException.class)
public ResponseEntity<?> mailExceptionHandler(MailConnectException e) {
// Do your treatment ...
} ...
}

关于spring-boot - 未连接邮件服务器时 Jhipster Health Endpoint 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51555243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com