【问题标题】:usage of spring integration in bound channel adapter?spring 集成入站通道适配器的用法?
【发布时间】:2026-01-30 18:55:01
【问题描述】:

我是春天的新手。我有一个查询。

频道或路由器可以激活<int-file:inbound-channel-adapter> 吗?

我的意思是,路由器应该能够发起轮询。有可能吗?

【问题讨论】:

  • 你想从中获得什么?
  • 我有 spring applicationContext 文件,该文件具有轮询文件系统并获取 xml 并处理它并放置在另一个文件夹中的逻辑。现在我需要从另一个文件夹中获取处理后的 xml 并进行一些处理...

标签: java spring spring-integration


【解决方案1】:

int-file:inbound-channel-adapter 需要 int:poller 才能从文件系统中读取。您可以决定什么是轮询间隔。一旦 int-file:inbound-channel-adapter 读取了文件,您就可以将其传递给通道。所以总的来说你的代码看起来像:

 <file:inbound-channel-adapter id="fileInAdapter" channel="sendFileToThisChannel"
      directory="C:\FilesToBeRead" auto-create-directory="true" auto-startup="true">
    <int:poller id="packagePoller" fixed-rate="${file-adapter.polling.interval:5000}"/>
 </file:inbound-channel-adapter>

在这里,inboud-channel-adapter 将每 5 秒检查一次来自 C: 中 FilesToBeRead 的文件,如果找到该文件,它将向 sendFileToThisChannel 发送一条消息。从频道开始,您可以对消息做您想做的事情 - 路由、处理、激活服务或任何您想做的事情!

如果你想确保一个通过一次的文件不再被传递,你可以看看 AcceptOnceFileListFilter

【讨论】:

    最近更新 更多