私のアプリケーションでは、ActiveMQをJMS実装サーバーとして使用しています。シナリオは、公開されたメッセージを消費する多くの恒久サブスクライバと、メッセージオブジェクトから中央DBサーバーにデータを保存するメッセージリスナを持つトピックがあります。同じトピックで持続メッセージを公開し続けるプロデューサスレッドがあります。私は永続的なメッセージストアにKahaDBを使用しています。メッセージが公開されるとすぐに、kahaDBはメッセージストア内にデータログファイルを作成し、すべての永続的な加入者がメッセージを消費するまでメッセージを永続化します。私はいつでも、JMSサーバをシャットダウンし、すべてのデータログファイルを削除するかどうかを知りたいと思います。データログファイルに保存されていたメッセージを受信しない永続サブスクライバもほとんどないでしょうか、またはこのトピックのメッセージリスナーによって実行される中央データベースに保存されたメッセージはほとんどない可能性があります。 ヒントや助けが大変感謝しています...... ありがとうございます。ActiveMQでは、MessageListenerがメッセージストアのデータログファイルに依存するかどうかを確認します。
0
A
答えて
2
データファイルを削除するかどうかにかかわらず、ブローカーを停止して開始すると、公開済みメッセージをまだ受信していないトピック消費者はそれを受信しなくなります。この背後にある理由は、トピックに送信されたメッセージは永続メッセージストアに書き出されないためです。
耐久性と持続性は同じものではありません。恒久サブスクリプションは、サブスクライバが切断された場合にサブスクリプション状態を保持するようブローカに指示します。コンシューマが切断されている間に送信されたメッセージはすべて保持されます。一方、非永続サブスクリプションは有限です。加入者が切断すると、その間に送信されたメッセージは見逃されました。すべてのメッセージはメモリに保存され、ブローカを再起動しても残りません。
メッセージの永続性は、最終的な配信のためのメッセージを格納します。これにより、壊滅的な障害や、まだアクティブではない可能性のある消費者への後の配信が防止されます。
pub-subを使用してメッセージをブロードキャストし、サブスクリプションが耐久性があり、ブローカの再起動後も存続するようにするには、永続サブスクリプションの代わりにvirtual destinationsを使用する必要があります。
メッセージは永続的でも非永続的でもなく、ブローカをオフにしてデータディレクトリを削除しても失われません。
関連する問題
- 1. 依存するJavaScriptファイルが含まれているかどうかを確認
- 2. Androidにインテントエクストラが存在するかどうかはどのようにして確認できますか?
- 3. レストAPIにレコードが存在するかどうかを確認しますか?
- 4. iPhoneにアプリケーションが存在するかどうかを確認しますか?
- 5. ラジオバットの値が既に存在するかどうか確認しますか?
- 6. PHP Jsonは値が存在するかどうかを確認します
- 7. Mod_rewriteは、PHPファイルが存在するかどうかを確認します。
- 8. Attrクラスが存在するかどうかjQueryで確認しますか?
- 9. エラープロバイダにエラーが存在するかどうかを確認します。
- 10. アクションがコハナに存在するかどうかを確認します
- 11. 配列に値が存在するかどうかを確認します。
- 12. SFDCにアカウントが存在するかどうかを確認します。
- 13. Pythonでどこから依存関係が発生しているのかを確認しますか?
- 14. キュウリ/カピバラでリンクが存在するかどうかを確認
- 15. オブジェクトがDbsetに存在するかどうかを確認
- 16. レジストリパスがリモートマシンに存在するかどうかの確認
- 17. キャッシュにKerberosチケットが存在するかどうかの確認
- 18. PHPにApacheモジュールが存在するかどうか確認できますか?
- 19. iFrameページが存在するかどうかを確認する
- 20. 子が存在するかどうかを確認する
- 21. データベーステーブルが存在するかどうかを確認する - パフォーマンス?
- 22. 要素が存在するかどうかを確認する
- 23. [i]が存在するかどうかを確認する
- 24. モデルが存在するかどうかを確認するCakephp
- 25. クラスが存在するかどうかを確認する/ jQuery
- 26. VB.net - リモートファイルが存在するかどうかを確認する
- 27. 行が存在するかどうかを確認するクエリ
- 28. レコードが存在するかどうかを確認するCakephp
- 29. アレイが存在するかどうかを確認していますか?
- 30. ADO.Net Excel、テーブルが存在するかどうかを確認しますか?