Déb*_*ora 6 java spring-boot spring-boot-actuator
如何根据执行器的状态来覆盖执行器的默认/运行状况响应状态代码:DOWN,UP,UNKNOWN等等?例如,如果健康状态为“ UP”,则响应代码应为200。如果DOWN:400,未知300。是否可以解决此问题?
注意:我不需要自己的健康端点。相反,现有的需要被覆盖。
在 Spring boot 2.x 中,这些是内置状态及其默认值,您可以将其覆盖为所需的相关代码。
management.endpoint.health.status.http-mapping.UP=200
management.endpoint.health.status.http-mapping.UNKNOWN=200
management.endpoint.health.status.http-mapping.DOWN=503
management.endpoint.health.status.http-mapping.OUT_OF_SERVICE=503
Run Code Online (Sandbox Code Playgroud)
或自定义映射
management.endpoint.health.status.http-mapping.DOWN=400
或在 yaml 中,
management.endpoint.health.status.http-mapping.UP=200
management.endpoint.health.status.http-mapping.UNKNOWN=200
management.endpoint.health.status.http-mapping.DOWN=503
management.endpoint.health.status.http-mapping.OUT_OF_SERVICE=503
Run Code Online (Sandbox Code Playgroud)
在 Spring boot 1.x 中,这些是应用了自定义状态的属性,
endpoints.health.mapping.DOWN=400
endpoints.health.mapping.UP=200
endpoints.health.mapping.UNKNOWN=300
Run Code Online (Sandbox Code Playgroud)
或在 yaml 中,
management:
endpoint:
health:
status:
http-mapping:
UP: 200
UNKNOWN: 200
DOWN: 503
OUT_OF_SERVICE: 503
Run Code Online (Sandbox Code Playgroud)
状态代码是通过应用程序属性配置的。这些是默认值:
management.health.status.http-mapping:
UP: 200
DOWN: 503
OUT_OF_SERVICE: 503
UNKNOWN: 200
Run Code Online (Sandbox Code Playgroud)
对于Spring Boot 1.x,该属性endpoints.health.mapping改为。
使用您建议的代码是一个坏主意,因为它们已经意味着其他事情。合理的变化是设置UNKNOWN: 500,如果你希望你的上游系统以不同的方式对待它UP。