2016-11-29 51 views
0

這是我的駱駝路線:KAHA DB郵件存儲堅持文件中的駱駝

<route> 
    <from uri="file:///c:/"/> 
    <to uri="file:///D:/"/> 
</route> 

在這條線路出現任何故障情況下,我想堅持將文件存儲在數據庫KAHA,使文件不會迷路了。但我不知道blueprint.xml存儲文件的Kaha DB持久性配置。而我Activemq.xml文件如下

<broker brokerName="kahaDB_Persistence" persistent="true" useShutdownHook="false"> 
    <persistenceAdapter> 
     <kahaDB directory="${data}/kahadb/" 
       journalMaxFileLength="100mb" 
       concurrentStoreAndDispatchQueues="false" 
       concurrentStoreAndDispatchTopics="false"/> 
    </persistenceAdapter> 
</broker> 

請告訴我如何考慮提到的路線,從上面連接blueprint.xml這KahaDB。

回答

0

駱駝的文件組件具有內置的歸檔功能,可以保存已處理的文件。它將它們複製到名爲「.camel」的文件夾中,但它可以通過配置選項進行更改。

我不會推薦使用KahaDB,因爲它不適合「正確工具」的口頭禪。

Camel File component docs

+0

瑪特感謝respose,我不希望文件是.camel或任何其他目錄。一旦ESB崩潰,這些將會消失。嘗試了noop = true,但是一旦ESB重新啓動,它也會處理舊文件。我的場景與消息一旦傳遞給消費者後的消息持久性完全相同,那麼它將從數據庫中刪除。 – user1468077

+0

我不知道你的意思是關於重啓後文件消失。我們使用.done和.failed文件夾進行文件歸檔。有用。至於noop = true和重新啓動時舊文件的重新處理,您需要調查idempotent設置/選項以避免出現這種情況,但將文件保留在傳入文件夾中可能不是正確的解決方案。 –

+0

+1 Steve。 user1468077描述的行爲與默認的Camel文件組件不一致,並且與使用KahaDB本身不一致。 –