问题描述
我正在尝试使用 Spring Integration 来轮询两个不同的文件夹,并为每条新消息运行一个方法。
它适用于单个 InboundChannelAdapter,但使用 2 个 InboundChannelAdapter 时,它开始为 InboundChannelAdapter 之一提供错误“未找到调度程序的订阅者”。
以下是两个 InboundChannelAdapter :-
**
**
@配置 公共类 KafkaRsuiteFlow {
@Value("${kafka.landing.zone.rsuite}")
private String directory;
@Bean
@InboundChannelAdapter(value = "kafkaRSuiteFileInputChannel",poller = @Poller(fixedDelay = "1000"))
public MessageSource<File> rsuiteFileReadingMessageSource() {
CompositeFileListFilter<File> filters = new CompositeFileListFilter<>();
filters.addFilter(new SimplePatternFileListFilter("*.xml"));
FileReadingMessageSource source = new FileReadingMessageSource();
source.setautocreateDirectory(true);
source.setDirectory(new File(directory));
source.setFilter(filters);
return source;
}
@Bean(name = "kafkaRSuiteFileInputChannel")
public MessageChannel kafkaRSuiteFileInputChannel() {
return new DirectChannel();
}
@Bean
public IntegrationFlow processFileFlow() {
return IntegrationFlows
.from("kafkaRSuiteFileInputChannel")
.handle("fileProcessor","processRsuite").get();
}
}
**
**@配置 公共类 KafkaLFProcess {
@Value("${kafka.landing.zone.lf}")
private String directory;
@Bean
@InboundChannelAdapter(value = "kafkaLFFileInputChannel",poller = @Poller(fixedDelay = "1000"))
public MessageSource<File> lfFileReadingMessageSource() {
CompositeFileListFilter<File> filters = new CompositeFileListFilter<>();
filters.addFilter(new SimplePatternFileListFilter("*.xml"));
FileReadingMessageSource source = new FileReadingMessageSource();
source.setautocreateDirectory(true);
source.setDirectory(new File(directory));
source.setFilter(filters);
return source;
}
@Bean(name = "kafkaLFFileInputChannel")
public MessageChannel kafkaLFFileInputChannel() {
return new DirectChannel();
}
@Bean
public IntegrationFlow processFileFlow() {
return IntegrationFlows
.from("kafkaLFFileInputChannel")
.handle("fileProcessor2","process").get();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)