Spring集成中的流转换

时间:2014-04-10 11:07:46

标签: spring-integration

我们有一个Spring Integration应用程序,它从数据库中进行轮询,将marshalls转换为XML,然后将该XML作为消息发送到下游系统。该应用程序可行,但我们面临的问题是某些结果集可能很大。在这种情况下,Spring Integration似乎无法处理转换,因为结果集太大而无法在内存中处理。我没有在Spring Integration中看到Stax marshaller,就像Spring Batch中所说的那样。这实际上是有道理的,因为消息传递通常意味着处理许多小消息而不是大文件。

我们的一个选择是开发一个Spring Batch应用程序。

我们可以采用Spring Integration来设计这个设计吗? Spring Integration是否有任何流媒体概念?例如,是否可以以块的形式读取结果集,将每个部分和每个部分转换为单独的消息,这是一个集合的一部分?或者Spring Batch是否更适合?

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以设置max-rows-per-poll以限制每个结果集的大小。

如果这不实用,那么您可以结合使用Spring Batch和Spring Integration - 让批ItemWriter通过<gateway/>将块发送到Spring Integration流中。