2016-11-29 4 views
0

内のファイルを永続化する:私はファイルがないように、永続的カハDB内のファイルを保存するこのルートのいずれかの障害が発生した場合にはカハDBのメッセージストアこれは私のキャメルルートであるラクダ

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

失われます。しかし、blueprint.xmlのファイルを保存するためのKaha DBの永続性の設定については気づいていません。

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

を次のように、私のActivemq.xmlファイルがある述べたルート上考慮してblueprint.xmlからこのKahaDBに接続する方法を私に教えてください。

答えて

0

Camelのファイルコンポーネントには、処理済みのファイルを保存するアーカイブ機能が組み込まれています。 ".camel"というフォルダにコピーしますが、設定オプションで変更できます。

「仕事のための正しいツール」には合わないので、KahaDBの使用はお勧めしません。 resposeため

Camel File component docs

+0

MAATのおかげで、私は、ファイルが.camelまたは他のディレクトリになりたくありません。 ESBがダウンするとこれらは消えてしまいます。試したnoop = trueも同様ですが、ESBが再起動されると古いファイルも処理されます。私のシナリオは、メッセージが消費者に配信された後、データベースから削除されると、メッセージの永続性とまったく同じです。 – user1468077

+0

再起動後にファイルが消えてしまうことについて、私はあなたが何を意味するのか分かりません。ファイルのアーカイブには.doneと.failedフォルダを使用します。できます。 noop = trueと再起動時の古いファイルの再処理に関しては、それを避けるために冪等の設定/オプションを調べる必要がありますが、着信フォルダーにファイルを保存することは、おそらく正しい解決策ではないでしょう。 –

+0

+1 Steve。 user1468077で記述されている動作は、デフォルトのCamelファイルコンポーネントと矛盾し、KahaDB単独では使用できません。 –

関連する問題