首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring集成:文件读取、拆分和消息过滤

Spring集成:文件读取、拆分和消息过滤
EN

Stack Overflow用户
提问于 2018-07-05 22:09:24
回答 1查看 473关注 0票数 0

我正在使用Spring Integration File Splitter (XML config)来读取文件并处理消息。

我有一个要求,我需要从文件中读取第一行和最后一行,并将它们设置为标头值,以便其余行/消息具有该信息。

换句话说,第一行和最后一行消息需要丢弃,但其有效负载需要设置为其余消息中的标头。

我怎样才能做到这一点?任何帮助都将是appreciated.Thanks。

下面的代码用于从目录中读取文件并将其拆分:

代码语言:javascript
复制
 <int-file:inbound-channel-adapter
    id="fileSource" channel="fileReceiverChannel"
    directory="file:${file.messagesource.directory}"
    prevent-duplicates="false" ignore-hidden="true" filename-regex="${filename.regex}" >
    <int:poller fixed-delay="5000" receive-timeout="5000" 
        task-executor="pollerExecutor">
    </int:poller>
</int-file:inbound-channel-adapter>

<int-file:splitter id="splitFile"
        input-channel="splitFileChannel" output-channel="transformChannel"
        charset="UTF-8" apply-sequence="true" iterator="false" />
EN

回答 1

Stack Overflow用户

发布于 2018-07-05 22:46:30

从5.0开始,您可以在FileSplitter上使用setFirstLineAsHeader(true),第一行将作为所有消息的标题。

它是XML配置中的first-line-as-header

没有机制可以对“最后”行执行相同的操作;为此,您需要一个自定义版本的拆分器。读取最后一行并不容易,除非所有行的长度都相同,否则必须先读取整个文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51193446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档