我有一個預計將各種文件複製到傳入文件夾的路線。路線將繼續移動這些文件到一個臨時文件夾,在那裏它會做其他的事情。路線如下:Apache Camel - 將大文件複製到使用者文件夾
<route id="incoming" >
<from uri="file://my/path/incoming"/>
<to uri="file://my/path/incoming/temp"/>
</route>
問題是這些文件可能相當大。可以說1Gb。爲了將該文件複製到傳入的文件夾中,可能需要10秒鐘。在這10秒內,消費者輪詢該目錄,並且由於部分文件仍在被複制,所以拋出異常。我可以使用哪種解決方法?
我用readLock所有戰略(主要是改變了),但我得到一個異常:
(The process cannot access the file because it is being used by another process)
修改後的URI如下:
<from uri="file://my/file/path?readLockCheckInterval=3000&readLock=changed"/>
仍然沒有運氣雖然
您的異常應該處理。例外是說它不能讀取文件。通過處理例外,您可以例如停止路線,暫停,發送電子郵件,發送推文以支持或正確處理。不使用這些選項時,您沒有收到正確的異常? – Namphibian 2014-09-01 02:12:40
我面臨同樣的問題並尋找解決方案。 [latest documentation](http://camel.apache.org/file2.html)提到'changed ... readLockCheckInterval ...這個選項僅適用於Camel 2.8以後的FTP組件。不確定已更改或readLockCheckInterval或兩者僅適用於FTP。 – ren78min 2015-09-06 20:14:16