2015-10-13 48 views
0

我想从文件一次检索一行,则该行转换为一个POJO读取文件中的行,然后检索下一行... 对于每个行,应该调用两个Web服务。Spring集成:通过线路和呼叫WS每行

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

<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分离器返回的邮件列表,但我想处理一个只有一行。我应该使用spring批处理吗?

回答

0

不知道你有什么问题,但由于4.1.2版本的Spring集成提供FileSplitter作为外的现成的组件。由于4.2它可以被指定为一个顶层<int-file:splitter>组件。

而这正是一个满足你的需求。

另外不要忘了,您可以指定output-channel作为ExecutorChannel以并行处理来自文件的行。

0

>但根据样品

根据哪个样品?

你错,分路器发出单独的消息为每个分割。

+0

这不是一个答案。请考虑这个问题的评论或现有的答案。 :-) –

+0

这个“示例”中没有任何东西表明它发出了一个消息列表;每条线都是一次发射的。该代码是现在在框架中的“FileSplitter”的基础,因为@ArtemBilan在他的回答中指出。 –