通过Spring Integration将多个文件从各种源复制到各个目标

时间:2015-06-24 12:17:16

标签: java spring spring-integration file-copying

我收到了以下用例。

我在输入频道上收到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中使用已存在的组件实现可触发文件复制?

1 个答案:

答案 0 :(得分:0)

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

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

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

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

相关问题