У меня есть приложение Spring Boot с множеством аннотированных компонентов @Component, @Controller, @RestController. Есть около 20 различных функций, которые я хотел бы переключать отдельно. Важно, чтобы функции можно было переключать без пересборки проекта (можно перезапустить). Я думаю, что конфигурация Spring будет хорошим способом.
Я мог бы изобразить конфигурацию (yml) следующим образом:
Код: Выделить всё
myApplication:
features:
feature1: true
feature2: false
featureX: ...
Основная проблема в том, что я не хочу использовать if-блоки повсюду. Я бы предпочел полностью отключить компоненты. Например, @RestController даже должен быть загружен и не должен регистрировать свои пути. Сейчас я ищу что-то вроде этого:
Код: Выделить всё
@Component
@EnabledIf("myApplication.features.feature1") //
Подробнее здесь: [url]https://stackoverflow.com/questions/39125500/feature-toggle-for-spring-components[/url]