Как корректно завершить работу приложения spring boot

#spring-boot #tomcat

#spring-boot #tomcat

Вопрос:

Сервер приложений Spring boot запущен и обслуживает запросы. Через несколько дней / часов я хотел бы корректно завершить работу приложения / процесса spring, отправив событие или вызвав конечную точку через надежные источники, но мне не нравится отправлять сигнал завершения процесса.

Комментарии:

1. Привет, как насчет того, чтобы привод spring boot отключил api.?

2. @Sreyas попробовал API привода загрузки spring, он не отключает встроенный в spring tomcat, tomcat запущен и работает

Ответ №1:

Вы можете использовать привод Spring Boot. Добавьте следующую зависимость:

         <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
 

Настройте в своем application.properties :

 management.server.port: 8081
management.endpoints.web.exposure.include: *
management.endpoints.enabled-by-default: true
management.endpoint.shutdown.enabled: true
#management.security.enabled: false
 

И используйте конечную точку «shutdown» для завершения работы:

 $ curl -X POST localhost:8081/actuator/shutdown
 

Комментарии:

1. Получил следующую информацию об ответе: остановка службы [Tomcat] 23 ноября 2020 г. 10:04:56 УТРА org.apache.catalina.core. ИНФОРМАЦИЯ о журнале ApplicationContext: уничтожение Spring FrameworkServlet ‘DispatcherServlet’ 23 ноября 2020 г. 10:04:56 УТРА org.apache.coyote. ИНФОРМАЦИЯ об остановке AbstractProtocol: Остановка ProtocolHandler [«http-nio-9510»] 23 ноября 2020 г. 10:04:56 УТРА org.apache.coyote. ИНФОРМАЦИЯ об уничтожении AbstractProtocol: уничтожение обработчика протокола [«http-nio-9510»], но сервер tomcat все еще запущен и работает