私は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. Activemqコンシューマー・リスナーを構成する方法(Java)
- 5. データレイヤーからの承認ベースのコンテンツ
- 6. asp.netメンバーシップ - 管理者からの承認
- 7. プロデューサー/コンシューマーの実装
- 8. MVC2 SQLからロールを承認
- 9. Camel-cxf JSONからactivemqへのリクエスト
- 10. AngularJSの認証と承認
- 11. コンソールのアプリケーションとタイムアウトからのASP.NETの承認
- 12. asp.netベースページの承認
- 13. asp.netの承認モジュール
- 14. iOS Facebookの承認
- 15. LDAPウェブページの承認
- 16. Google APIの承認
- 17. ASP.NETフォームの承認
- 18. Sails.jsソケットリクエストの承認
- 19. コラボレーションポータルの承認ワークフロー
- 20. MVC承認バージョンの属性のみ承認
- 21. PHPからのIMAPへの不正な承認
- 22. WCF - Webアプリケーションからの証明書ベースの承認
- 23. 認証/承認のためのEntity Framework
- 24. doctrine2エンティティリポジトリ内での認証の承認
- 25. OAuthでの認証の承認
- 26. Active Directoryの承認からフォルダを除外
- 27. ビルドログから承認のデバッグ情報を削除する方法
- 28. アジャスターでのチェックアクセスの承認
- 29. FacebookのAPIの承認
- 30. PERLのウェブサイトでの承認
いいえ。私はonMessage()関数で待つように頼んだ後に確認しましたが、確認は送信されませんでした。ありがとう:-) – Vanp