Spring XD - 在运行时更改文件源目录

时间:2016-01-15 13:02:40

标签: java spring spring-integration spring-xd

我想在运行时更改文件源的配置。从我在文档和源代码定义中看到的,目录是静态定义的(即没有表达式),请参阅the bean definition

我知道使用普通的Spring Integration可以在入站文件通道适配器上调用setDirectory(...)。有没有办法在XD中做同样的事情?

提前致谢。

1 个答案:

答案 0 :(得分:1)

虽然您可以在消息源上调用setDirectory(),但要注意auto-create-directory(默认true)将不起作用 - 该目录是在创建bean期间创建的。但它适用于现有目录。

执行所需操作的一种可能性是自定义文件源以添加将委托给MBean的包装器FileReadingMessageSource.setDirectory()您可以使用bean名称{{1}获取对bean的引用(你必须给适配器一个<adapterId>.source属性)。

然后您可以通过JMX更改目录(或者通过添加控制总线向您的包装器发送消息 - 在这种情况下,您需要一些其他技术来向控制总线发送消息 - http,tcp等)。