Если мы говорим о application.properties
, то нет ничего, кроме условий в конфигурации. Смотрите @Value
инъекцию в метод определения компонента: https://docs.spring.io/spring/docs/5.2.6.RELEASE/spring-framework-reference/core.html#beans -value-annotations
Итак, что-то вроде этого для вашего потокового компонента:
@Bean
public IntegrationFlow flow(Value("${your.prop}") String propValue) {
Чем вы действительно можете сделать это if...else
инсайдером для subscription
лямбды.
Другой способ - использовать @ConditionalOnProperty
из Spring Boot и использовать эти flow1()
и flow2()
в качестве условного компонента.
Затем вы можете добавить IntegrationFlow
в этот ваш бин flow()
- тот же метод ввода аргументов метода, - и вам будет доступен только один из условных бинов.
В двух слова: все, что вы можете сделать с помощью внедрения зависимостей Spring, можно использовать, когда вы объявляете IntegrationFlow
bean-компоненты.