как часть моей конфигурации процесса весенней загрузки, я создаю несколько очень похожих потоков интеграции.
Мой текущий код конфигурации выглядит следующим образом:
@Configuration
public class MyConfig {
@Component
public static class FlowFactory {
public IntegrationFLow createFlow(String someValue) {
return IntegrationFLows.from
...
.get();
}
}
@Bean
public IntegrationFlow flow1(FlowFactory flowFactory) {
return flowFactory.createFlow("1");
}
@Bean
public IntegrationFlow flow2(FlowFactory flowFactory) {
return flowFactory.createFlow("2");
}
@Bean
public IntegrationFlow flow3(FlowFactory flowFactory) {
return flowFactory.createFlow("3");
}
}
Как я могу заменить (в моем классе конфигурации ) эти жестко закодированные бобы с регистрацией l oop, использующей IntegrationFlowContext?
Может быть, что-то вроде ниже?
@Configuration
public class MyConfig {
@Component
public static class FlowFactory {
FlowFactory(IntegrationFlowContext flowContext) {
for (String someValue : ImmutableList.of("1","2","3") {
flowContext.registration(createFLow(someValue)).register();
}
}
private IntegrationFLow createFlow(String someValue) {
return IntegrationFLows.from
...
.get();
}
}
}
Заранее большое спасибо за ваше время и ваш опыт.
С наилучшими пожеланиями