diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc index a62a2c0ef0..5ae06fae06 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc @@ -192,13 +192,13 @@ For example, Web components *must* be contained within the child context, and th See the {spring-boot-module-api}/builder/SpringApplicationBuilder.html[`SpringApplicationBuilder` Javadoc] for full details. [[boot-features-application-availability-state]] -== Application Availability State +=== Application Availability State When deployed on plaftorms, applications can provide information about their availability to the platform using infrastructure like https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Kubernetes Probes]. Spring Boot manages this application state with the `ApplicationAvailabilityProvider` and makes it available to application components and the platform itself. [[boot-features-application-availability-liveness]] -=== Liveness State +==== Liveness State The "Liveness" state of an application tells whether its internal state allows it to work correctly, or recover by itself if it's currently failing. An invalid "Liveness" state means that the application is in a broken state and cannot recover from it; the infrastructure should then restart the application to mitigate that problem. @@ -210,7 +210,7 @@ If the application context has started successfully, Spring Boot assumes that th An application is considered live as soon as the context has been refreshed, see <>. [[boot-features-application-availability-readiness]] -=== Readiness State +==== Readiness State The "Readiness" state of an application tells whether the application is ready to handle traffic. A failing "Readiness" state tells the platform that it should not route traffic to the application for now. This typically happens during startup, while `CommandLineRunner` and `ApplicationRunner` components are being processed, or at any time if the application decides that it's too busy for additional traffic. @@ -222,7 +222,7 @@ TIP: Tasks expected to run during startup should be executed by `CommandLineRunn [[boot-features-managing-application-availability]] -=== Managing the Application Availability State +==== Managing the Application Availability State Application components can retrieve the current availability state at any time, by injecting the `ApplicationAvailabilityProvider` and calling methods on it. More often, applications will want to listen to state updates or update the state of the application.