Программно перезапустить приложение Spring Boot/обновить контекст SpringJAVA

Программисты JAVA общаются здесь
Anonymous
Программно перезапустить приложение Spring Boot/обновить контекст Spring

Сообщение Anonymous »

Я пытаюсь программно перезапустить свое приложение Spring без вмешательства пользователя.

По сути, у меня есть страница, которая позволяет переключать режим приложения ( на самом деле это означает переключение текущего активного профиля) и, насколько я понимаю, я должен перезапустить контекст.

В настоящее время мой код очень прост, он предназначен только для бита перезапуска (это это, кстати, Котлин):

Код: Выделить всё

    context.close()
application.setEnvironment(context.environment)
ClassUtils.overrideThreadContextClassLoader(application.javaClass.classLoader)
context = application.run(*argsArray)
Однако в тот момент, когда я выполняю context.close(), JVM сразу же существует. Я также пробовал context.refresh(), но, похоже, это просто убивает Tomcat/Jetty (пробовал оба на случай, если это проблема Tomcat), а затем ничего не происходит.

Я также видел программный перезапуск приложения Spring Boot, но из этих ответов у меня ничего не работает. Кроме того, я изучил Spring Actuator, который предположительно имеет конечную точку /restart, но, похоже, ее там больше нет?

Подробнее здесь: https://stackoverflow.com/questions/393 ... ng-context

Вернуться в «JAVA»