実行中のMDBインスタンスの識別子を取得できますか? 私はMDBのプールを持っています(例えば10)、同じJMSXGroupIDを持つすべてのメッセージを同じMDBインスタンスで処理するために、メッセージのプロパティJMSXGroupIDを設定しました。 現在のMDBインスタンスの識別子をログに記録することを確認するには、どうすればその情報を取得できますか?MessageDrivenBeanインスタンス識別子
答えて
おそらくそれはあなたのMDBベンダーAPIを使用して達成されるかもしれませんが、EJB仕様によるそのような識別子はありません。
@PostConstructメソッドでは一意のMDB識別子をいつでも作成できますが、私の意見では、プール内のすべてのBeanは同じ方法で処理する必要があるため、良い解決策ではありません。
JMSXGroupIDをメッセージヘッダとして設定し、MDBのメッセージセレクタを使用して、指定されたMDB実装でそれを処理して、複数のBeanが特定のキュー(example)でリッスンするようにすることはできますか?
上記のヘッダを抽出し、JMSXGroupIDごとに達成したい状態のEJBシングルトンBeanを呼び出す汎用MDB Beanを作成することもできます。
同じキューでリッスンするさまざまなMDBのセレクタが既にあります。同じエンティティを基準にしたメッセージの到着順序を維持するためにJMSXGroupIDを使用しています。同じエンティティに関連するすべてのメッセージを同じMDBに送信すると、それらが順番に処理されることを期待できますか? – Wallkan
ActiveMQは、すべてのメッセージが同じMDBインスタンスによって処理されることを保証するため、@PostContructメソッドで一意の識別子を作成できます。 – iskramac
そして、hashCode()メソッドを使用して異なるインスタンスを識別する場合は、または、同じクラスのすべてのMDBが同じhashCodeを共有しますか? – Wallkan
- 1. リソース識別子
- 2. 識別子は
- 3. 識別子が
- 4. 識別子が
- 5. バンドル識別子
- 6. xのインスタンスのJPA識別子が変更されました
- 7. ASP.NETセッション識別子
- 8. マルチパート識別子は
- 9. NHibernate.AssertionFailure:ヌル識別子
- 10. カスタム識別子ジェネレータ
- 11. C++ Warning--識別子「}」
- 12. マルチバイト識別子リスト
- 13. iOSの - 識別子
- 14. アプリケーションエンジンアプリケーション識別子エイリアス
- 15. 識別子 - JavaScriptの
- 16. .Net/CLR識別子
- 17. Antlr4は識別子
- 18. 「のgetaddrinfo」:識別子
- 19. Canbus 2.0b識別子
- 20. TSQL:パラメータとしてキャストされた識別子の識別子
- 21. 識別子が識別子ではない場合、識別子は見つかりませんでしたか?
- 22. Hibernate。拡張識別子ジェネレータ
- 23. マルチパート識別子「dbo.showSelectedTableは」
- 24. バンドル識別子yourcompany書式
- 25. バンドル識別子iOSプロビジョニングポータル
- 26. ecoinventのEcospold識別子3.2
- 27. 表す識別子が
- 28. .NETのユニバーサルコメント識別子
- 29. イオン2 - 重複識別子
- 30. フラグメント識別子にリダイレクト/リフレッシュ
MDBテクノロジは、パフォーマンス上の理由からステートレスです。あなたがステートフルな方法でそれを使用したいなら、あなたのアーキテクチャを元に戻してリファクタリングするべきです。あなたは間違った道にいる。 IDを追加するだけの場合は、アプリケーションスコープのカウンタを使用して@PostConstructイベントハンドラでIDを追加できます。 –