当前位置: 首页 > 知识库问答 >
问题:

使用Spring集成进行文件轮询

鲁辉
2023-03-14

如何使用Spring集成Api轮询特定文件目录中的多个文件,而无需xml配置,最好使用基于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个答案

宋望
2023-03-14

您可以尝试向实现中添加一个任务执行器,按照本文并发轮询多个文件,但它不遵循基于注释的方法。这篇文章是关于文件顺序轮询的。这还涉及到注释的使用。

 类似资料:
  • 如何使用java dsl Integrationflows从spring集成触发spring批处理作业。 我有下面的代码,它轮询目录中的文件,当新文件添加到目录中时,会生成一条消息,我想在该实例中触发一个Spring批处理作业。请建议。

  • 我正在尝试将Spring Boot应用程序的一些集成测试从迁移到。目前,测试使用的是 当测试运行时,被配置为使用与服务器运行时相同的基本URL和(随机选择的)端口。 在我的一个测试中,我登录并保存authorization-response头值,以便在后续的API调用中使用。我试着将它迁移到,就像这样 但是当我像这样创建实例时,它没有配置为使用与应用程序相同的端口。 我尝试使用的依赖注入实例 这确

  • 在我们的Spring web应用程序中,我们使用Spring bean概要文件区分三种场景:开发、集成和生产。我们使用它们连接到不同的数据库或设置其他常量。 我可以使用使它在本地运行,但这是硬编码的,会导致我们的测试在构建服务器上失败。 我还尝试使用,希望它能以某种方式从Maven导入属性,但这不起作用。 另一个注意事项是,我们还需要配置代码,以便开发人员可以运行web应用程序,然后使用Intel

  • 我正在尝试通过SFTP Spring集成拉取远程文件并将其转储到本地驱动器中,并启动Spring批处理作业(步骤1读取、处理和写入),接下来是步骤2,其中一个Tasklet将下载到本地另一个位置的本地文件存档并删除下载的文件。 假设下载的文件是“data.service”、“data.maintenance”和“data.transaction”。我只处理“data.service”,但所有3个都

  • 我正在尝试为下面描述的流创建动态ftp入站适配器 为此,我使用SI java dsl创建了以下流,我使用SI dynamic registration注册这些流,如下所示 同样的方法也很有效,但我还想配置一个类似于上面xml中的动态轮询器。SI Java DSL也可以这样做吗 更新 看起来它的工作,虽然不确定为什么它不来在内容协助

  • 我正在使用SAML 2.0将我们的应用程序与客户的身份管理系统集成。以下是要求 我们的应用程序的登录屏幕将有一个单一登录选项。单击后,用户将被引导到身份管理系统的登录屏幕 现在,客户要求我们为他们提供SAML元数据文件。我们的应用程序是在dot-net中开发的。 我查看了可用于SAML生成的组件空间和ATC Inc组件,但我需要帮助才能开始这项工作。 有人能帮我吗?这是我没有做过的新东西。 谢谢A