我有一个场景,使用File Inbound,Splitter,Transformer和File Outbound适配器将大文件拆分为小块。我想知道处理从read到split再写回来的文件需要多长时间。我如何实现此功能?
感谢任何帮助。
<file:inbound-channel-adapter directory="/Documents" filename-pattern="test.txt" channel="inputFiles">
<int:poller fixed-delay="0"/>
</file:inbound-channel-adapter>
<int:channel id="inputFiles">
<int:dispatcher task-executor="executor"/>
</int:channel>
<int:splitter
input-channel="inputFiles"
output-channel="output" ref="multiTaskFileSplitter" method="splitMessage" apply-sequence="true">
</int:splitter>
<int:channel id="output">
<int:dispatcher task-executor="executor1"/></int:channel>
<file:outbound-channel-adapter mode="APPEND" channel="output" auto-create-directory="true" delete-source-files="true" directory="/splitter" filename-generator="fileNameGenerator">
</file:outbound-channel-adapter>
此致 KARTHIK
答案 0 :(得分:1)
您可以在流程开头使用ChannelInterceptor
和MessageHeaders
修改 - 添加一些currentTime
标头。并计算流程结束时的花费时间。它也可以使用相同的ChannelInterceptor
来完成。
从Spring Integration 4.2开始,我们现在AbstractMessageSourceAdvice
可以应用<poller>
的{{1}}来添加相同的<int-file:inbound-channel-adapter>
标题逻辑。