多个 Spring 集成流程

问题描述

我正在尝试使用 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 (将#修改为@)