spring集成阅读许多文件

时间:2018-04-02 14:06:25

标签: spring spring-boot spring-integration

我们需要解析大量传入文件(进入目录)并处理它们并将结果放到每个文件的AWS kinesis上。

文件的频率可以是每天60,000,文件可以每15秒到达一次。每个文件可能包含大约1000个条目。

  1. Spring-integration可以处理这个负载吗?

  2. 处理此类卷会有任何问题吗?

  3. 当文件进入入站通道适配器时,我们可以为每个文件执行服务激活器吗?

  4. 我认为我们需要在带有轮询器的通道上使用任务执行器?有什么例子吗?

  5. 任务执行者会以多线程方式调用服务激活器吗?

  6. 任何指针都会有所帮助。任何代码示例的链接都会很好。

1 个答案:

答案 0 :(得分:1)

这不是人们在这里问的问题 - 在一个线程中问题太广泛和太多。我假设即使我回答所有这些问题,你也会提出更多问题,因此对于Q& A聊天来说并不好。无论如何:

是的,Spring Integration可以解决这个问题。您可以使用简单的FileReadingMessageSource定期轮询目录。

可以将每个文件(出站消息payload)提供给FileSplitter以逐行解析。

在拆分器之后,您确实可以使用ExecutorChannel并行处理这些行。

只要它是线程安全的,就可以在多线程环境中调用Service Activator。

最后,您可以使用KinesisMessageHandler将记录发送到AWS Kinesis。是的,这个也可以在不同的线程中使用。

您可以在Spring Integration Reference Manual中找到所有信息。一些Samples也可能对您有所帮助。此外,还有Spring Integration AWS Extension