2021年2月6日星期六

Multiple Spring Integration Flow

I am trying to use Spring Integration to poll two different folders and for each new message run a method.

It works fine with single InboundChannelAdapter but with 2 InboundChannelAdapter it starts giving error "No subscriber found for dispatcher" for one of the InboundChannelAdapter.

Following are the two InboundChannelAdapter :-

**

**

@Configuration public class 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();      }  

}

**

    **@Configuration public class 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();      }  

    }

    https://stackoverflow.com/questions/66083585/multiple-spring-integration-flow February 07, 2021 at 09:05AM

    没有评论:

    发表评论