使用Spring Integration进行文件轮询

时间:2016-08-09 10:04:15

标签: spring file integration using polling

如何使用不使用xml配置的Spring Integration Api从特定文件目录轮询多个文件,最好使用基于Java注释的方法? 我想获取轮询文件列表并迭代它们并进一步处理。这是要求。任何样品 可用于满足此要求的代码。提前致谢。下面是我使用的代码片段。

    @Bean    
    @InboundChannelAdapter(value = "fileInputChannel", poller = @Poller(fixedDelay = "60000",maxMessagesPerPoll="5"))     
public MessageSource<File> fileReadingMessageSource() {    
    txtSource = new FileReadingMessageSource();   
    txtSource.setDirectory(inputDir);   
    txtSource.setFilter(new SimplePatternFileListFilter("*.txt"));  
    txtSource.setScanEachPoll(true);  
        return txtSource;  
}  
     @Bean     
     @Transformer(inputChannel = "fileInputChannel", outputChannel = "processFileChannel")  
        public FileToStringTransformer fileToStringTransformer() {  
            Message<File> message1 = txtSource.receive();  
            File file1 = message1.getPayload();  
            return new FileToStringTransformer();  
        }    

但是无论输入目录中没有文件,消息源实例总是只获取一个文件。不知道如何使其适用于要获取的多个文件。

1 个答案:

答案 0 :(得分:0)

您可以尝试在实施中添加task-executor 关注this帖子同时轮询多个文件,但不遵循基于注释的方法。并this发布文件的顺序轮询。这也涉及到注释的使用。