是否可以通过UP / DOWN更改状态字段值
DBL_MIN/2
变为TRUE / FALSE,如下所示:
{"status":"UP"}
我想使用与弹簧执行器相同的检查逻辑,不需要自定义检查逻辑,只想更新状态值。
答案 0 :(得分:0)
假设您的公司建立了新的API标准,是因为涉及到组成应用程序范围的众多不同框架,而我们并不是仅在谈论Spring Boot应用程序(因为这样会很烦人):
只需在@Endpoint
下实现自己的/actuator/customstatus
并汇总其下的所有HealthIndicator
状态。您可能希望从Spring Boots HealthEndpoint
和CompositeHealthIndicator
类中获得有关如何实现此目标的灵感。 (主题HealthAggregator
)
答案 1 :(得分:0)
以下代码将注册一个新的执行器端点/healthy
,该端点使用与默认/health
端点相同的机制。
package com.example;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.actuate.health.HealthEndpoint;
import org.springframework.boot.actuate.health.Status;
import org.springframework.stereotype.Component;
@Component
@Endpoint(id = "healthy") // Change this to expose the endpoint under a different name
public class BooleanHealthEndpoint {
HealthEndpoint healthEndpoint;
public BooleanHealthEndpoint(HealthEndpoint healthEndpoint) {
this.healthEndpoint = healthEndpoint;
}
@ReadOperation
public Health getHealth() {
Boolean healthy = healthEndpoint.health().getStatus().equals(Status.UP);
return new Health(healthy);
}
public static class Health {
private Boolean status;
public Health(Boolean status) {
this.status = status;
}
public Boolean getStatus() {
return status;
}
}
}