Ищу компонент о том, как соединить разные потоки интеграции потоком root. Я видел этот учебник (см. 5.2. Мост); у него один основной поток root, а затем два разных потока. Я пробовал это в своем приложении, но это не сработало без PollerMetadata.DEFAULT_POLLER . Выдает ошибку: в контексте нет доступного опросчика по умолчанию. Когда я добавляю PollerMetadata.DEFAULT_POLLER , время в мосте endpointConfigurer работает не так, как ожидалось. Возможно, это противоречит конфигурации опросчика по умолчанию.
Короче как можно два разных потока соединить одним главным root? Но разные потоки должны работать в разное время.
Я не знаю, использую ли я правильный компонент или нет, любая помощь будет оценена. Спасибо.
Вдобавок я видел этот вопрос, который в некотором роде похож. Это может помочь понять мой вопрос.
ОБНОВЛЕНИЕ
@Bean(name = PollerMetadata.DEFAULT_POLLER)
public PollerMetadata poller() {
return Pollers.fixedRate(60, TimeUnit.SECONDS, 10).get();
}
@Bean
public IntegrationFlow fileReader() {
return IntegrationFlows
.from(sourceDirectory())
.split()
.publishSubscribeChannel(c -> c
.subscribe("fileWriter"))
.publishSubscribeChannel(c -> c
.subscribe("anotherFileWriter"))
.get();
}
@Bean
public IntegrationFlow fileWriter() {
return IntegrationFlows
.from("fileWriter")
.bridge(e -> e.poller(10, TimeUnit.SECONDS, 5))
.handle()
.get();
}
@Bean
public IntegrationFlow anotherFileWriter() {
return IntegrationFlows
.from("anotherFileWriter")
.bridge(e -> e.poller(20, TimeUnit.SECONDS, 5))
.handle()
.get();
}