2017-10-22 6 views
0

私はactivemqを使用しています。 KahaDBはactivemqのデフォルトメッセージストアです。しかし、それはサイズが増加し続け、最終的にディスクスペースを使い果たします。すべてのメッセージが確認応答されても、サイズは大きくなり、データストア内に新しいログファイルが継続的に作成されます。KahaDBエラー "ディスクに空き領域がありません"。これを解決するには?

私はKahaDBに関連するプロパティを設定していません。デフォルトプロパティを使用しています。

 broker = new BrokerService(); 
     TransportConnector connector = new TransportConnector(); 
     connector.setUri(new URI("tcp://localhost:61616")); 
     broker.addConnector(connector); 
     broker.start(); 

これらは私がブローカーに設定した唯一のプロパティです。誰かがこのエラーが発生しないようにKahaDBで使用できるプロパティを教えてください。

+0

ディスク領域が不足する理由はいくつかあります。私は、ActiveMQのドキュメント/ガイドを勉強することをお勧めします。 –

答えて

0

KahaDBのジャーナルとインデックスファイルは、いくつかの理由が必ずしも明らかではないため、いくつかのデバッグを行い、ログファイルを保持していることを確認する必要があります。ログファイル全体を保持する未確認のメッセージ、場合によっては、そのログ内の他のメッセージを追跡する将来のログファイル。

ActiveMQサイトには、これを調べることについて素敵なarticleがあります。そのため、あなたのケースで何がログに記録されているかを見ることができます。また、最新のリリースを使用することもお勧めします。これは、ログが間に合わないようにしてログが固まらないようにするためです。

+0

私は間違いなく未確認メッセージを持っていません。メッセージがDLQに送信された場合、ログファイル全体が削除されるのを防ぎますか? DLQに20個のメッセージがあり、20個すべてが別々のログファイルに存在する場合、それは20個のログファイルをすべて保持すると思いますか? – hars

+0

はい、DLQは他のキューと同じように、メッセージがまばらに配置されている場合、それらが存在するすべてのログを保持します。私が与えたリンクに提供されているデバッグ情報を使用すると、もちろん、時間をとっているかどうかを確かめることができます。 –

関連する問題