Spring Integration入门

时间:2019-03-20 03:18:09

标签: spring spring-boot spring-integration

我试图通过尝试在Spring中运行“入门指南”来了解Spring集成的工作原理。 (https://spring.io/guides/gs/integration/#initial) 本指南将引导我们完成使用Spring Integration创建一个简单应用程序的过程,该应用程序将从RSS Feed(Spring Blog)中检索数据,处理数据,然后将其写入文件。

当我尝试运行该应用程序时,我的期望是在阅读了integration.xml中提到的配置后,它将写入文件'tmp / si / SpringBlog'。 但这不是这种情况,不会生成输出文件。因此,我假设我必须编写逻辑以从rss提要中读取,然后将其写入输出文件中。请以正确的逻辑/方法指导我,以完成从Spring集成开始的任务。

我的integration.xml完全类似于春季教程中的内容,并添加了该内容以供参考。

我在运行时没有收到任何错误,但输出不符合预期。

integration.xml

<feed:inbound-channel-adapter id="news" url="http://spring.io/blog.atom" auto-startup="${auto.startup:true}">
    <int:poller fixed-rate="5000"/>
</feed:inbound-channel-adapter>

<int:transformer
        input-channel="news"
        expression="payload.title + ' @ ' + payload.link + '#{systemProperties['line.separator']}'"
        output-channel="file"/>

<file:outbound-channel-adapter id="file"
        mode="APPEND"
        charset="UTF-8"
        directory="/tmp/si"
        filename-generator-expression="'${feed.file.name:SpringBlog}'"/>

非常感谢!

1 个答案:

答案 0 :(得分:1)

不,您不必编写任何代码。您似乎缺少主要组件-提要入站通道适配器...

<feed:inbound-channel-adapter id="news" url="http://spring.io/blog.atom" auto-startup="${auto.startup:true}">
    <int:poller fixed-rate="5000"/>
</feed:inbound-channel-adapter>

您是否遵循了指南中的建议:

完成后,您可以根据gs-integration/complete

中的代码检查结果