我有一个工作应用程序,它从属性文件中指定的目录中读取并写入其他目录。以下是用于读取和写入的入站和出站通道适配器。更改出站通道适配器上的目录
<file:inbound-channel-adapter id="inputFileChannelAdapter" channel="fileIn" directory="${dir.monitor}"
auto-startup="false" prevent-duplicates="false" filename-pattern="*.done" >
<int:poller id="inputFilePoller" time-unit="SECONDS" fixed-delay="1" max-messages-per-poll="100" />
</file:inbound-channel-adapter>
<int:channel id="finishedFileChannel"/>
<file:outbound-channel-adapter id="finishedDataFiles" delete-source-files="true" auto-create-directory="false"
directory="${dir.finished}" channel="finishedFileChannel" />
我有一个需要允许在应用程序运行时更改目录。我创建了让我用下面的代码停止轮询服务和改变输入目录控制总线:
SourcePollingChannelAdapter adapter = context.getBean("inputFileChannelAdapter", SourcePollingChannelAdapter.class);
FileReadingMessageSource source = context.getBean("inputFileChannelAdapter.source", FileReadingMessageSource.class);
File monitorFileDir = new File("C:\newInput");
source.setDirectory(monitorFileDir);
不过,我不知道如何来完成相同的出站通道适配器。我试图得到参考了约束channnel适配器,然后创建一个新的EventDivenConsumer和FileWritingMessageHandler和重新分配的参考,但它没有工作,我觉得我标题下与解决方案在错误的道路。任何建议,将不胜感激。
非常感谢阿尔乔姆,即工作!我很欣赏所有的细节。 – golfnguitarz 2014-10-20 17:39:16
我不得不使用远程目录的表情,目录表达不承认(我的版本的春天?) 伟大的作品,否则 – BenoitParis 2015-07-16 10:28:52
'远程目录expression'?因此,对于SFTP使用''或类似命令。 –
2015-07-16 12:26:06