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 9ebaf80d24..48b73d2a81 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 @@ -60,14 +60,12 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter roles; + private volatile CachedHealth cachedHealth; + private Map statusMapping = new HashMap(); private RelaxedPropertyResolver securityPropertyResolver; - private long lastAccess = 0; - - private Health cached; - public HealthMvcEndpoint(HealthEndpoint delegate) { this(delegate, true); } @@ -165,22 +163,29 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter= getDelegate().getTimeToLive(); + return (accessTime - cachedHealth.creationTime) >= getDelegate().getTimeToLive(); } protected boolean exposeHealthDetails(HttpServletRequest request, @@ -221,4 +226,21 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter