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