JMS API 可定義讓您用來實作點對點或發佈/訂閱網域的介面與類別。這些就是表 2–1 第 2 欄與第 3 欄所顯示的網域專用 API。JMS API 另外可定義統一網域,讓您進行一般訊息傳送用戶端的程式設計。這類用戶端的運作方式,取決於它產生訊息與使用訊息的目標類型。若目標為佇列,則訊息傳送的運作方式會依據點對點式樣;若目標為主題,則訊息傳送的運作方式會依據發佈/訂閱式樣。
表 2–1 JMS 程式設計網域及物件
基本類型 (統一網域) |
點對點網域 |
發佈/訂閱網域 |
---|---|---|
Destination (佇列或主題) |
Queue |
Topic |
ConnectionFactory |
QueueConnectionFactory |
TopicConnectionFactory |
Connection |
QueueConnection |
TopicConnection |
Session |
QueueSession |
TopicSession |
MessageProducer |
QueueSender |
TopicPublisher |
MessageConsumer |
QueueReceiver |
TopicSubscriber |
JMS 從版本 1.1 開始引入統一網域。如果您需要符合較早的 JMS 1.02b 規格,可以使用網域專用的 API。使用網域專用的 API 也可提供清晰的程式設計介面,避免出現特定類型的程式設計錯誤:例如,為佇列目標建立長期訂閱。然而,網域專用 API 的缺點是,您不能在同一作業事件或同一階段作業中結合點對點和發佈/訂閱作業。如果您需要執行這些動作,應該選擇統一網域 API。如需結合兩個網域的範例,請參閱請求回覆式樣。