2016-11-29 52 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本身不一致。 –