diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java index 70aab222de7..c9183bf1b96 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java @@ -59,9 +59,7 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter statusMapping = new HashMap<>(); - private long lastAccess = 0; - - private Health cached; + private volatile CachedHealth cachedHealth; public HealthMvcEndpoint(HealthEndpoint delegate) { this(delegate, true); @@ -164,22 +162,29 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter= getDelegate().getTimeToLive(); + return (accessTime - cachedHealth.creationTime) >= getDelegate().getTimeToLive(); } protected boolean exposeHealthDetails(HttpServletRequest request, @@ -214,4 +219,21 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter