【问题标题】:Copying multiple files from various sources to various destinations via Spring Integration通过 Spring Integration 将多个文件从各种来源复制到各种目的地
【发布时间】:2015-06-24 12:17:15
【问题描述】:

我看到了以下用例。

我在我的输入通道上接收到一个 Message<Foo> 对象,其中 Foo 对象有 2 个属性

public class Foo {  
    ...
    public String getSourcePathString();
    public String getTargetPathString();
    ...
}

sourcePathString 是一个字符串,表示源文件所在的位置,而targetPathString 是文件应该复制到的位置。

现在,我知道如何使用file:outbound-channel-adapter 通过FileNameGenerator 将文件复制到自定义目标位置,但是,我不确定如何提供从file:inbound-channel-adapter 中读取文件的位置以及如何在仅收到消息时激活阅读。

到目前为止,我有一个自定义服务激活器,我在自己的 bean 中执行复制,但是,我想尝试使用 Spring Integration。

那么,有没有办法在 Spring Integration 中使用已经存在的组件来实现可触发的文件复制?

【问题讨论】:

    标签: java spring spring-integration file-copying


    【解决方案1】:

    您目前无法在入站通道适配器上动态更改输入目录。

    即将发布的 4.2 版本具有允许这样做的动态轮询器。

    但是,适配器似乎并不真正适合您的用例 - 它是一个轮询适配器,而您希望按需获取文件。

    您可以通过配置FileReadingMessageSource 来最小化您的用户代码,设置目录并调用receive() 来获取文件。

    【讨论】:

      猜你喜欢
      • 2019-05-01
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2015-11-21
      相关资源
      最近更新 更多