Spring XD - 在运行时更改文件源目录
Spring XD - Change File Source directory at runtime
我想在运行时更改文件源的配置。根据我在文档和源定义中看到的内容,目录是静态定义的(即没有表达式),请参见 the bean definition.
我知道使用普通 Spring 集成可以在入站文件通道适配器上调用 setDirectory(...)
。有什么方法可以在 XD 中做同样的事情吗?
提前致谢。
虽然您可以在消息源上调用 setDirectory()
,但请注意 auto-create-directory
(默认 true
)将不起作用 - 该目录是在创建 bean 期间创建的。但是,它适用于现有目录。
做你想做的一种可能性是自定义文件源以添加一个包装器 MBean
它将委托给 FileReadingMessageSource.setDirectory()
你可以使用 bean name <adapterId>.source
(你必须给适配器一个 id
属性)。
然后您可以通过 JMX 更改目录(或通过添加 control-bus 向您的包装器发送消息 - 在这种情况下,您将需要一些其他技术来将消息发送到控制总线 - http 、tcp 等)。
我想在运行时更改文件源的配置。根据我在文档和源定义中看到的内容,目录是静态定义的(即没有表达式),请参见 the bean definition.
我知道使用普通 Spring 集成可以在入站文件通道适配器上调用 setDirectory(...)
。有什么方法可以在 XD 中做同样的事情吗?
提前致谢。
虽然您可以在消息源上调用 setDirectory()
,但请注意 auto-create-directory
(默认 true
)将不起作用 - 该目录是在创建 bean 期间创建的。但是,它适用于现有目录。
做你想做的一种可能性是自定义文件源以添加一个包装器 MBean
它将委托给 FileReadingMessageSource.setDirectory()
你可以使用 bean name <adapterId>.source
(你必须给适配器一个 id
属性)。
然后您可以通过 JMX 更改目录(或通过添加 control-bus 向您的包装器发送消息 - 在这种情况下,您将需要一些其他技术来将消息发送到控制总线 - http 、tcp 等)。