我收到了以下用例。
我在输入频道上收到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中使用已存在的组件实现可触发文件复制?
答案 0 :(得分:0)
您目前无法在入站通道适配器上动态更改输入目录。
即将发布的4.2版本具有动态轮询器,允许这样做。
但是,似乎适配器并不适合您的用例 - 它是一个轮询适配器,而您想要按需获取文件。
您可以通过配置FileReadingMessageSource
来最小化您的用户代码,设置目录并调用receive()
来获取文件。