El apagado ordenado es compatible con los cuatro servidores web integrados (Jetty, Reactor Netty, Tomcat y Undertow), así como con aplicaciones web reactivas y basadas en servlets. Ocurre como parte del cierre del contexto de la aplicación y se ejecuta en la primera etapa de detener los beans SmartLifecycle. Este procedimiento de procesamiento de terminación utiliza un tiempo de espera que proporciona un período de gracia durante el cual se permitirá que se completen las solicitudes existentes pero no se enviarán nuevas solicitudes. La forma exacta de evitar que se envíen nuevas solicitudes depende del servidor web que esté utilizando. Jetty, Reactor Netty y Tomcat dejarán de aceptar solicitudes a nivel de red. Undertow aceptará solicitudes, pero devolverá inmediatamente una respuesta "servicio no disponible" (503).

Para un apagado sin problemas cuando se utiliza Tomcat, se requiere la versión 9.0.33 o posterior de Tomcat.

Para habilitar el modo de apagado, configure la propiedad server.shutdown como se muestra en el siguiente ejemplo:

Propiedades
server.shutdown=graceful
Yaml
servidor:
  apagado: "elegante"

Para configurar el período de tiempo de espera, configure la propiedad spring.lifecycle.timeout-per-shutdown-phase, como se muestra en el siguiente ejemplo:

Propiedades
spring.lifecycle.timeout-per-shutdown-phase=20s
Yaml
primavera:
  ciclo vital:
    tiempo de espera por fase de apagado: "20s"
El modo de apagado elegante en su IDE puede no funcionar correctamente si no envía la señal SIGTERM adecuada. Para obtener más información, consulte la documentación de su IDE.