мы используем Spring Cloud Config с нашим приложением Spring Boot / MVC.
В последнее время мы пробовали что-то хитрое, например, следующий код ...
@RestController
@RefreshScope
@ConditionalOnProperty("useCase1.enabled")
public class UseCase1Controller {
@RequestMapping(path = "/v1/doSomething")
public String doSomething() {
}
}
и под 'spring-cloud-config 'У меня есть следующее' app1.yml '...
useCase1.enabled=true
Теперь с этой конфигурацией все в порядке и работает отлично, теперь, если я изменю свойство на' Spring Cloud Config Server /app1.yml 'и запускать' activator / refresh 'на' Config Server 'и' App1 - Загрузка приложения 'на' useCase1.enabled = false 'UseCase1Controller отключен ...
Проблема заключается в том, что я запускаю приложениес помощью 'useCase1.enabled = false' затем измените на true и обновите, я думаю, как и ожидалось, RestController не зарегистрирован (я предполагаю, что сканирование аннотаций происходит в начале контекста приложения, а не для bean-компонентов, инициализированных позже) ...
Итак, мой вопрос, как / я могу зарегистрировать свой RestController после обновления?
Спасибо за ответы ...