KAHA DB邮件存储坚持文件中的骆驼
问题描述:
这是我的骆驼路线: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。
答
骆驼的文件组件具有内置的归档功能,可以保存已处理的文件。它将它们复制到名为“.camel”的文件夹中,但它可以通过配置选项进行更改。
我不会推荐使用KahaDB,因为它不适合“正确工具”的口头禅。
玛特感谢respose,我不希望文件是.camel或任何其他目录。一旦ESB崩溃,这些将会消失。尝试了noop = true,但是一旦ESB重新启动,它也会处理旧文件。我的场景与消息一旦传递给消费者后的消息持久性完全相同,那么它将从数据库中删除。 – user1468077
我不知道你的意思是关于重启后文件消失。我们使用.done和.failed文件夹进行文件归档。有用。至于noop = true和重新启动时旧文件的重新处理,您需要调查idempotent设置/选项以避免出现这种情况,但将文件保留在传入文件夹中可能不是正确的解决方案。 –
+1 Steve。 user1468077描述的行为与默认的Camel文件组件不一致,并且与使用KahaDB本身不一致。 –