本文介紹了有沒有辦法通過代碼啟動文件:inbound-Channel-Adapter?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我遇到了將特定文件從一個位置復制到另一個位置的情況。輪詢不是必需的,因為該操作將被故意觸發。此外,在運行時決定從中選取文件的目錄。
我可以進行如下配置:
<int-file:inbound-channel-adapter id="filesIn" directory="@outPathBean.getPath()" channel="abc" filter="compositeFilter" >
<int:poller id="poller" fixed-delay="5000" />
</int-file:inbound-channel-adapter>
<int:channel id="abc"/>
<int-file:outbound-channel-adapter channel="abc" id="filesOut"
directory-expression="file:${paths.root}"
delete-source-files="true" filename-generator="fileNameGenerator" />
還配置了文件名生成器和復合篩選器類。
我對春天不熟悉。請給我指出正確的方向!!
推薦答案
您可以使用this answer中討論的FireOnceTrigger
,并根據需要啟動/停止適配器。
獲取對適配器的引用(aSourcePollingChannelAdapter
)、插入(或@Autowire
等。)它作為Lifecycle
Bean(start()
/stop()
等)。
或者您可以使用FileReadingMessageSource
以編程方式完成整個操作,如this answer中所述。
這篇關于有沒有辦法通過代碼啟動文件:inbound-Channel-Adapter?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,