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

Я пытаюсь программно перезапустить приложение 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 конечная точка, но этого, кажется, больше нет?

Помощь будет принята с благодарностью. Благодарю.

Ответы на вопрос(4)

Ваш ответ на вопрос