Spring集成:逐行读取文件并为每行调用ws

时间:2015-10-13 16:53:25

标签: spring-integration

我想从文件中一次检索一行,然后将该行转换为POJO,然后检索下一行...... 对于每一行,应该调用两个Web服务。

我相信,我应该这样工作:

<int-file:inbound-channel-adapter directory="/tmp/test" 
        id="filesIn" channel="toSplitter">
    <int:poller fixed-delay="5000" />
</int-file:inbound-channel-adapter>

<int:splitter input-channel="toSplitter" output-channel="logger"
    ref="fileSplitter" method="split" />

<int:logging-channel-adapter id="logger" level="WARN"/>

<bean id="fileSplitter" class="foo.FileSplitter" />

但根据sample Splitter返回一个消息列表,但我想处理一行。我应该使用春季批次吗?

2 个答案:

答案 0 :(得分:0)

不确定您遇到了什么问题,但自版本4.1.2以来,Spring Integration提供了FileSplitter作为开箱即用的组件。由于4.2可以将其指定为顶级<int-file:splitter>组件。

正是这个符合您的要求。

另外请不要忘记,您可以将output-channel指定为ExecutorChannel来并行处理文件中的行。

答案 1 :(得分:0)

&gt;但根据样本

根据哪个样本?

您错了,拆分器会为每个拆分发出单独的消息。