私はActiveMQを使用してJavaアプリケーションを作成しています。私はプロデューサクラス(ユーザ入力を受け取ります)とコンシューマクラスをリスナで持っているので、メッセージが到着すると同時にメッセージリスナはonMessage(msg)関数を実行します。 私の質問は、消費者がブローカに確認応答を返すときです。つまり、msgはブローカからキューから取り出されますか? onMessage(msg)関数で書かれたアクションを完了した後か、それともonMessage(msg)関数が呼び出された直後ですか?ActiveMQのコンシューマーからの承認
1
A
答えて
1
通常、onMessageが例外をスローするケースを処理する必要があるため、onMessageの完了後にackが送信されます。
3
どのように構成されているのか、またどのようにあなたがuse transactionsに依存するかによって異なります。
メッセージ駆動型Beanを使用していますか?その場合、私はトランザクションが正常にコミットされたときに承認が送られると思います。 specification(具体「ejbcore」バージョン)を参照して、言うJMSメッセージ駆動型Bean用セクション5.4.14メッセージの確認応答:
メッセージの確認が自動的にコンテナによって処理されます。メッセージ駆動型Beanがコンテナ管理のトランザクション境界を使用する場合、メッセージ確認応答はトランザクションコミットの一部として自動的に処理されます。
それが言うように行く:Bean管理トランザクション境界を使用する場合は、メッセージの受信がBean管理トランザクションの一部にすることはできません
を、そして、この場合には、領収書が確認されます容器によって。 Bean管理のトランザクション境界設定が使用されている場合、Beanプロバイダはセマンティクスまたは
DUPS_OK_ACKNOWLEDGE
セマンティクスのいずれかを注釈のactivationConfig
要素を使用するか、またはactivation-config-property
デプロイメント記述子要素を使用して適用する必要があるかどうかを示すことができます。
しかし、実際には、Bean管理のトランザクションを使用するべきではないので、無関係です。
関連する問題
- 1. ActiveMQでのコンシューマーからの承認
- 2. Activemqメッセージ承認
- 3. ActiveMQコンシューマー実行遅延
- 4. 複数のコンシューマーでのApache ActiveMQの異常動作
- 5. アプリからの承認
- 6. Activemqコンシューマー・リスナーを構成する方法(Java)
- 7. Camel ActiveMQコンシューマー接続ログを無効にする
- 8. MassTransitコンシューマー - PHPから送信
- 9. Azureのモバイルアプリからの直接承認
- 10. データレイヤーからの承認ベースのコンテンツ
- 11. AndroidからのAzureイベントハブの承認
- 12. asp.netメンバーシップ - 管理者からの承認
- 13. rails 4 - ロールベースの承認をゼロから
- 14. WebクライアントからのWCF承認
- 15. .Net MVC 6デスクトップアプリケーションからの承認
- 16. 消費者からプロデューサに承認を送って、それをactivemqとrabbitmqで処理します。
- 17. MVC2 SQLからロールを承認
- 18. Instagramの承認
- 19. ノードサーバコードの承認
- 20. OpenStackの承認
- 21. activeMQからのDSLプロセスの応答
- 22. Windows認証ユーザーの承認
- 23. AngularJSの認証と承認
- 24. Camel-cxf JSONからactivemqへのリクエスト
- 25. ActiveMQ dlqDeliveryFailureCause java.lang.Throwable:キューのストアから複製
- 26. activemqからrestエンドポイントへのcamelルート
- 27. プロデューサー/コンシューマーの実装
- 28. MassTransit複数のコンシューマー
- 29. コンソールのアプリケーションとタイムアウトからのASP.NETの承認
- 30. HTTPS経由の基本認証を使用するCamel CXFコンシューマー
いいえ。私はonMessage()関数で待つように頼んだ後に確認しましたが、確認は送信されませんでした。ありがとう:-) – Vanp