如何将spring集成限制为仅读取特定目录路径?

问题描述

当前,我正在使用FileReadingMessageSource通过Spring Integration从特定目录读取文件

@Bean
public MessageSource<File> fileReadingMessageSource() {
    FileReadingMessageSource source = new FileReadingMessageSource();
    source.setDirectory(new File(/temp));
    source.setFilter(new SimplePatternFileListFilter("*.csv"));
    source.setUseWatchService(true);
    source.setWatchEvents(WatchEventType.CREATE);
    return source;
}

问题,我面临的是上面的配置能够从temp文件夹以及temp文件夹内的其他文件夹读取文件。例如-如果我在temp之内创建一个文件夹(如temp / csvfolder),然后将csv文件放置在csvfolder中,它仍然可以轮询该文件

我们可以仅将其限制为特定文件夹吗?

解决方法

如果您不使用监视服务,则只会在顶层使用。

如果要使用监视服务,则需要实现自定义DirectoryScanner