10

非同期 JMS (Java Messaging Service) コンシューマーと実際の MDB (メッセージ駆動型 Bean) の間に違いはありますか。私が見る唯一の違いは、MDB クラスには@MessageDriven、非同期 JMS コンシューマーにはないアノテーションがあることです。

私が見逃しているものは他にありますか?

4

1 に答える 1

8

あなたの場合、MDBはJMSコンシューマーとして機能します。MDB は EJB 固有の用語であり、コンシューマーは JMS 用語です。JMS コンシューマーは、技術的には EJBではないメッセージ駆動型 POJO にすることもできます。

コメントへの回答

A1. はい、JMS コンシューマーが EJB や Spring コンテナーなどのコンテナーによって管理されない限り、プレーンな JMS コンシューマーを EJB のようにプール/管理することはできません。

A2. MDB は、EJB との非同期通信の要件を実際に満たしています。JMS ベースの場合、MDB は技術的にはJMS コンシューマでもあります。ただし、MDB は非 JMSベースにすることもできます。たとえば、JCA (Java Connector Architecture) ベースの MDB などです。非 JMS ベースの MDB の詳細については、次の投稿を参照してください

于 2011-04-13T21:16:18.700 に答える