我有一個工作應用程序,它從屬性文件中指定的目錄中讀取並寫入其他目錄。以下是用於讀取和寫入的入站和出站通道適配器。更改出站通道適配器上的目錄
<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