2017-10-18 72 views
0

我正在使用camel-jcifs並讀取一個文件。每件事情都很好。 應用程序將部署在四個服務器實例上。 現在我的查詢是如何確保一次只有一臺服務器拿起文件?如何確保只有一臺服務器讀取CAMEL文件?

<from id="_from_pop3" uri="smb://myurl?fileName=filename&amp;preMove=inprogress&amp;move=processed"/> 

我得到了建議,使用infinispan和寫共享緩存,該文件正在進行中。

有人可以建議其他可能的解決方案嗎?

Regards, Sarada。

回答

0

是的,你需要使用聚集路由模式。你可以找到在駱駝在行動第2版本書關於這個細節,第17章:https://www.manning.com/books/camel-in-action-second-edition

由於駱駝JCIFS擴展文件組件,你可以看一下解決方案,有關於在Apache的駱駝集羣文件路徑,並使用類似的在線解。例如readLockIdempotent選項(本書中有一個例子)。

+0

謝謝!一旦我修好了會發布答案:-) –

0

可以嘗試使用文件/ ftp中的premove選項來移動文件,一旦它被服務器發現,這將隱藏該文件從其他服務器,並且它默認獲得鎖定,所以其他服務器無法訪問,即使兩者都嘗試相同的納秒。

相關問題