準則: Java 傳訊服務 (JMS)
這個準則描述如何使用 Java 訊息服務 (JMS) 及如何為 J2EE 應用程式設計和塑造此服務。
關係
相關元素
主要說明

簡介

Java 訊息服務 (JMS) 可用於元件之間的通訊。非同步通訊和保證送達等 JMS 功能,使 JMS 成為企業應用程式最常用的選擇。JMS 也適用於同步通訊,但以非同步用法為主。

這些準則描述何時使用 JMS、如何塑造及一些適用的設計注意事項。

如需 JMS 的相關資訊,請參閱概念:Java 傳訊服務

建模 JMS

JMS 用戶端塑造為類別。下圖顯示以 JMS 傳送訊息的訊息生產者的一般互動。此範例使用佇列做為目的地。

隨文解釋的圖型。

JMS 用戶端必須實作訊息接聽器介面。每當訊息抵達時,JMS 提供者要確保會呼叫特殊方法 onMessage

隨文解釋的圖型。

下圖顯示 JMS 消費者用戶端的一般設定。

隨文解釋的圖型。

設計 JMS

JMS 應用程式有兩種主要的設計方式:點對點發佈/訂閱

點對點模型中,以 JMS 將訊息傳遞至「一個」用戶端。

隨文解釋的圖型。

訊息生產者會將訊息傳送至佇列,藉此與訊息消費者溝通。在觀念上,一個佇列只有一個消費者,但有許多 JMS 提供者容許多個消費者,以支援負載平衡。使用多個消費者時,每一個訊息只由一個消費者來處理。訊息會保留在佇列中,直到被耗用或到期為止。

發佈/訂閱模型中,通訊型樣可讓多個生產者傳送訊息給多個消費者。消費者可訂閱主題,中介軟體會將訊息傳遞給消費者。

隨文解釋的圖型。

相較於點對點模型,發佈和訂閱模型會將訊息保留在主題中,直到所有用戶端都收到主題為止。

附註:從 JMS 1.1 開始,您可以在相同的 JMS 應用程式上合併這兩種模型。