Spring Integration - 整个文件处理所需的日志时间

时间:2015-08-25 20:29:47

标签: spring performance logging spring-integration

我有一个场景,使用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

1 个答案:

答案 0 :(得分:1)

您可以在流程开头使用ChannelInterceptorMessageHeaders修改 - 添加一些currentTime标头。并计算流程结束时的花费时间。它也可以使用相同的ChannelInterceptor来完成。

从Spring Integration 4.2开始,我们现在AbstractMessageSourceAdvice可以应用<poller>的{​​{1}}来添加相同的<int-file:inbound-channel-adapter>标题逻辑。