JMS 啟動規格 [設定]

JMS 啟動規格與一或多個訊息驅動 Bean 相關聯,並且提供其接收訊息時所需的配置。

如果要在主控台中檢視這個頁面,請按下列其中一個路徑:
  • 資源 -> JMS -> 啟動規格 -> activation_specification_name
  • 資源 -> JMS -> JMS 提供者 -> a_messaging_provider -> [其他內容] 啟動規格 -> activation_specification_name
請利用這個畫面來瀏覽或變更所選之 JMS 啟動規格的配置內容,以搭配預設傳訊提供者使用。

如果想要利用訊息驅動 Bean,透過「Java EE 連接器架構 (JCA) 1.5」來與預設傳訊提供者通訊,您可以建立一個 JMS 啟動規格。JCA 提供在 WebSphere® Application Server 之類應用程式伺服器和企業資訊系統之間的 Java 連線功能。 它提供將 JMS 提供者與 Java EE 應用程式伺服器整合起來的標準方法,並且也提供與企業系統交換資料的架構,以訊息形式來傳送資料。

在相關聯的 EJB 2.1 或更新版本的訊息驅動 Bean 的部署描述子中,適當命名的啟動配置內容,會置換名稱JNDI 名稱目的地 JNDI 名稱鑑別別名以外的所有啟動規格配置內容。如果是 EJB 2.0 訊息驅動 Bean,部署描述子中對應的元素會置換目的地類型訂閱延續性確認模式訊息選取器等內容。 不論任何一種 Bean 類型,訊息驅動 Bean 連結中所指定的值都可以置換目的地 JNDI 名稱內容。

啟動規格內容會影響預設傳訊提供者選擇您的訊息驅動 Bean 應用程式所連接之傳訊引擎的方式。 依預設,環境會自動將應用程式連接到匯流排上可用的傳訊引擎。 不過,您可以指定額外的配置詳細資料來影響連線程序;比方說,識別特殊的引導伺服器,或是限制只能連線到某些可用傳訊引擎的子群組,或改進可用性或效能,或確保收到之訊息的循序處理。如需執行這項作業的原因及方式的相關資訊,請參閱「JMS 應用程式如何連接到匯流排上的傳訊引擎」主題。

「配置」標籤

「配置」標籤顯示這個物件的配置內容。 即使停止再重新啟動執行時期環境,這些內容值也會保留下來。請參閱資訊中心作業說明,以取得如何將配置變更套用於執行時期環境的相關資訊。

一般內容

範圍

指定應用程式伺服器可以使用這個資源物件的最高拓蹼層次。

參考資訊
必要的
資料類型 String

提供者

指定一個 JMS 提供者,以根據 Java 訊息服務 (JMS) 來啟用非同步傳訊。 它提供 J2EE Connection Factory 來建立特定 JMS 佇列目的地或主題目的地的連線。JMS 提供者管理物件是用來管理相關聯之 JMS 提供者的 JMS 資源。

參考資訊
必要的
資料類型 String

名稱

必要的資源顯示名稱。

參考資訊
必要的
資料類型 String

JNDI 名稱

資源的 JNDI 名稱。

請輸入這個啟動規格之相關訊息驅動 Bean 的連結中所指定的 JNDI 名稱。
參考資訊
必要的
資料類型 String

說明

資源的選用說明。

參考資訊
必要的
資料類型 文字區

目的地類型

訊息驅動 Bean 使用 Queue 或 Topic Destination。

參考資訊
必要的
資料類型 下拉清單
範圍
佇列
訊息驅動 Bean 使用 JMS 佇列。JMS 佇列的 JNDI 名稱指定在目的地 JNDI 名稱內容中。

主題
訊息驅動 Bean 使用 JMS 主題。JMS 主題的 JNDI 名稱指定在目的地 JNDI 名稱內容中。

目的地 JNDI 名稱

目的地的 JNDI 名稱

請輸入訊息驅動 Bean 用來查閱 JNDI 名稱空間中之 JMS 目的地的 JNDI 名稱。

請在目的地類型內容中選取目的地類型。

針對支援 JMS 的資源配接器,您必須將 javax.jms.Destinations 關聯於啟動規格,以便讓資源配接器可處理來自 JMS 目的地的訊息。 在此情況下,管理者會配置實作 javax.jms.Destination 介面的 J2C 受管理物件,並將它連結至 JNDI。

您可以配置 J2C 受管理物件,以使用實作 setDestination(javax.jms.Destination) 方法的 ActivationSpec 類別。 在此情況下,您可以指定目的地 JNDI 名稱(也就是實作 javax.jms.Destination 之 J2C 受管理物件的 JNDI 名稱)。

在應用程式啟動期間,如果啟動規格已在端點啟動過程中起始設定,伺服器會使用目的地 JNDI 名稱來查閱目的地受管理物件,然後在啟動規格實例上設定它。

參考資訊
必要的
資料類型 String

訊息選取器

用來判斷訊息驅動 Bean 接收哪些訊息的 JMS 訊息選取器。這個值是用來選取部分可用訊息的字串。 依照 JMS 規格所說明,語法以部分 SQL 92 條件表示式語法為基礎。 請參閱資訊中心,以取得相關資訊。

例如:
JMSType='car' AND color='blue' AND weight>2500

選取器字串可以指向 JMS 訊息標頭中的欄位及訊息內容中的欄位。 訊息選取器無法參考訊息內文值。

空值(空字串)表示訊息消費端沒有訊息選取器。

參考資訊
必要的
資料類型 String

匯流排名稱

要連接的匯流排名稱。

請輸入建立的連線所通往的服務整合匯流排名稱。 這必須是匯流排名稱,其中則定義了目的地 JNDI 名稱內容所識別的目的地。
參考資訊
必要的
資料類型 自訂

確認模式

階段作業如何確認它接收的任何訊息。

確認模式指出應該如何確認訊息驅動 Bean 收到的訊息。
註:

刪除訊息時會傳送確認。

如果您有非交易式訊息驅動 Bean,系統會在 Bean 啟動或完成時刪除訊息。如果 Bean 產生異常狀況,並因此而沒有完成,系統會採取下列其中一項動作:
  • 如果系統的配置是在 Bean 完成時刪除訊息,則訊息會分派給新的 Bean 實例,因此就有另一次機會可以處理訊息。
  • 如果系統的配置是在 Bean 啟動時刪除訊息,則訊息會遺失。

如果服務品質設為最大努力非持續性,訊息會在 Bean 啟動時刪除。如果是所有的其他服務品質,則會在 Bean 完成時刪除訊息。

參考資訊
必要的
資料類型 下拉清單
範圍
Auto-acknowledge
階段作業會自動確認訊息的遞送。

Duplicates-ok auto-acknowledge
階段作業以智慧方式確認訊息的遞送,這可以改進效能,但可能使訊息驅動 Bean 重複收到同一則訊息。

Target

識別傳訊引擎群組的目標名稱。請利用目標類型內容來指定目標類型。

參考資訊
必要的
資料類型 String

目標類型

Target 內容所指名的目標類型。

參考資訊
必要的
資料類型 下拉清單
範圍
匯流排成員名稱
匯流排成員的名稱。這個選項會擷取指定的匯流排成員(應用程式伺服器或伺服器叢集)所管理的作用中傳訊引擎。

自訂傳訊引擎群組名稱
傳訊引擎自訂群組(形成自我宣告的叢集)的名稱。這個選項會擷取登錄在指名自訂群組中的作用中傳訊引擎。

傳訊引擎名稱
傳訊引擎的名稱。這個選項會擷取可用來連接指名的傳訊引擎的端點。

目標重要性

這個內容指定目標群組的重要性。

參考資訊
必要的
資料類型 下拉清單
範圍
偏好的
傳訊引擎最好是選自目標群組。如果目標群組中有可用的傳訊引擎,就會選取它。如果目標群組中沒有可用的傳訊引擎,但有在目標群組之外、在相同服務整合匯流排中的傳訊引擎,就會選取這個傳訊引擎。

必要的
傳訊引擎必須選自目標群組。如果目標群組中有可用的傳訊引擎,就會選取它。如果目標群組中沒有可用的傳訊引擎,連線程序會失敗。

目標入埠傳輸鏈

當以應用程式之外的個別程序來連接傳訊引擎時,應用程式應設為目標之入埠傳輸鏈的名稱。 如果選擇了另一個程序中的傳訊引擎,傳訊引擎必須在執行指定的入埠傳輸鏈的伺服器中,才可以建立連線。 請參閱資訊中心,以取得相關資訊。

如果所選傳訊引擎位於應用程式所在相同伺服器,則會進行直接的進行中連線,且會忽略這個傳輸鏈內容。

傳輸鏈代表在伺服器內作業的網路通訊協定堆疊。 您指定的名稱必須是如伺服器 -> 伺服器類型 -> WebSphere 應用程式伺服器 -> server_name -> [伺服器傳訊] 傳訊引擎入埠傳輸所列,是管理傳訊引擎的伺服器所提供的傳輸鏈之一。 提供的傳輸鏈如下,但您可以在這個畫面中定義您自己的傳輸鏈。
InboundBasicMessaging
這是一個使用標準 TCP/IP 連線 (JFAP-TCP/IP) 的連線導向通訊協定。它支援兩段式的交易式(遠端 XA)流程,因此,在用戶端或伺服器系統上執行的訊息生產端或消費端可以參與這個用戶端或伺服器系統上所管理的廣域交易。 XA 流程的特定用途,是支援從執行於某伺服器的應用程式存取在第二部伺服器上的傳訊引擎,原因可能是第一部伺服器沒有適當的傳訊引擎。 如果使用遠端 XA 流程,應用程式必須能夠在本端使用交易協調程式。
InboundSecureMessaging
這是包裝在 SSL 中的 InboundBasicMessaging 通訊協定。
如需這個內容要如何與其他 Connection Factory 內容搭配使用,以管理連線工作量的相關資訊,請參閱「JMS 與匯流排連線的管理內容」主題。
參考資訊
必要的
資料類型 String

提供者端點

用來連接引導伺服器的逗點區隔端點 Triplet 清單,語法如下:hostName:portNumber:chainName。 例如,Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging。

除非在本端 Cell 中找不到指定的匯流排,否則不會使用提供者端點。 訊息驅動 Bean (MDB) 應用程式會先嘗試連接本端 Cell 中的指定匯流排。 如果這個嘗試失敗,就會利用提供者端點,讓應用程式使用遠端 Cell 的訊息。

如果未指定主機名稱,就會用 localhost 作為預設值。

如果未指定埠號,就會用 7276 作為預設值。

如果未指定鏈通訊協定,就會用 BootstrapBasicMessaging 之類預先定義的鏈來作為預設值。

參考資訊
必要的
資料類型 文字區

批次大小上限

在單一批次中從傳訊引擎收到的訊息數目上限。

在單一批次中,循序遞送給單一訊息驅動 Bean 實例的訊息數目上限。 訊息的批次處理可以改進效能,當 確認模式 設為 Duplicates-ok auto-acknowledge 時,尤其如此。 如果必須跨越失敗的遞送來保留訊息的排序,請將批次大小設定為 1
參考資訊
必要的
資料類型 Integer
範圍 1 至 2147483647

每個端點的並行 MDB 呼叫數目上限

訊息並行遞送的端點數目上限。

增加這個數目可以改進效能,但可能會在任何時候增加使用中的執行緒數目。如果遞送失敗之後,仍需保留訊息排序,請將並行端點數目上限設為 1。 只有當訊息驅動 Bean 所耗用的目的地不是已分割的目的地時,才適用訊息排序。 分割目的地用於叢集的工作量分散實務中。
參考資訊
必要的
資料類型 Integer
範圍 1 至 2147483647

在重複的訊息失敗時自動停止端點

當連續失敗的訊息數目達到您指定的限制時,這些參數會使端點自動停止。 這有助於辨明因本身的問題而失敗的一兩個訊息,以及造成許多訊息連續失敗的系統資源問題。

當問題並非處理失敗的訊息所造成時,停止端點可以縮減不必要地移到異常狀況目的地的訊息數目。

當端點自動停止時,它在管理主控台上的「狀態」是紅色。 必須按一下回復,手動重新啟動它。

端點重新啟動之後,就會重試任何造成端點停止的失敗訊息。如果它們仍然失敗,倘若配置的話,就會將它們移到異常狀況目的地。

啟用

根據下列參數,啟用端點的自動停止。

參考資訊
必要的
資料類型 布林

循序失敗訊息臨界值

當連續失敗的訊息數目達到配置的限制時,端點會停止。 由於 MDB 中的處理程序相依關係,實際處理的訊息數目可能會超出這個值。

除非啟用了 在重複的訊息失敗時自動停止端點 內容,否則,不會啟用這個內容。

參考資訊
必要的
資料類型 Integer

失敗訊息重試的延遲間隔

任何 MDB 無法處理但尚未達到遞送失敗次數上限的訊息,必須過了這個時段(毫秒),才會再重試。 在這段期間,除非連續失敗臨界值和並行上限設為 1,否則,仍會嘗試其他訊息。

設定重試失敗訊息的延遲間隔,可以縮減在 MDB 停止之前,不必要地移至異常狀況目的地的訊息數目。 如果要將移動的訊息數目減到最少,請將這個延遲設為大於訊息抵達目的地的預期時間間隔。

除非啟用了 在重複的訊息失敗時自動停止端點 內容,否則,不會啟用這個內容。

參考資訊
必要的
資料類型 Integer
範圍 時間單位是毫秒。 0 值表示重試沒有延遲間隔。

訂閱延續性

JMS 主題訂閱是否可延續。

一般而言,每次只有一個應用程式可以有特定可延續訂閱的消費端。 這個內容可讓您置換這個行為,使可延續的訂閱能夠同時有多個消費端。
參考資訊
必要的
資料類型 下拉清單
範圍
可延續
當訊息驅動 Bean 無法使用時,傳訊提供者會將訊息儲存起來,等訊息驅動 Bean 再度變為可用之後,便遞送訊息。

不可延續
如果訊息驅動 Bean 無法使用,傳訊提供者就不會儲存和重新遞送訊息。

訂閱名稱

可延續的主題訂閱需要的訂閱名稱。 當使用可延續的主題訂閱時,這是必要欄位。

每一個 JMS 可延續訂閱都會由訂閱名稱(由這個內容指定)來識別。JMS 連線也有相關的用戶端 ID(指定在用戶端 ID內容中),用來將連線及其物件關聯於用戶端的 JMS 提供者所維護的(可延續訂閱)訊息清單。

這個訂閱名稱在給定的用戶端 ID 內必須是唯一的。

參考資訊
必要的
資料類型 String

用戶端 ID

在利用這個啟動規格來建立的所有連線上,可延續的主題訂閱所需要的 JMS 用戶端 ID。

指定的值是用戶端(訊息驅動 Bean)的唯一 ID。 用戶端 ID 用來將用戶端連線關聯於傳訊提供者保留給用戶端的(可延續訂閱)訊息清單。當用戶端重新可用時,在無法使用之後,傳訊提供者會使用用戶端 ID,將儲存的訊息重新遞送給正確的用戶端。
參考資訊
必要的
資料類型 String

可延續的訂閱起始目錄

用來儲存遞送到「這個 JMS 啟動規格所建立的物件之可延續的訂閱」之訊息的傳訊引擎名稱。當使用可延續的主題訂閱時,則此為必要欄位。

管理者可以透過這個傳訊引擎的發佈點來管理可延續訂閱的執行時期狀態。
參考資訊
必要的
資料類型 String

依參照傳遞訊息有效負載

當傳送大型物件訊息或位元組訊息時,為了序列化、解除序列化及複製訊息有效負載,可能會耗用大量的記憶體和處理器成本。如果您在 Connection Factory 或啟動規格上啟用依參照傳遞訊息有效負載內容,您會通知預設傳訊提供者置換 JMS 1.1 規格,這項資料的複製有可能會縮減或略過。
注意:
定義這些內容所略過的 JMS 規格部分,以確保訊息資料的完整性。 任何使用這些內容的 JMS 應用程式,都必須嚴格遵循「依參照傳遞 JMS 訊息有效負載的原因和時機」主題中所說明的規則,否則,會有喪失資料完整性的風險。

利用這個啟動規格來接收訊息的應用程式必須遵循下列規則:

  • 應用程式不會修改從 JMS 物件訊息取得的資料物件。資料物件是當作唯讀來處理。

如果啟用的話,透過這個啟動規格接收的物件訊息,系統只在絕對必要之時,才會將它們的訊息資料序列化。 應用程式必須將取自這些訊息的資料視為 readOnly。

參考資訊
必要的
資料類型 布林

利用這個啟動規格來重新傳送原來收到的訊息之應用程式必須遵循下列規則:

  • 如果資料物件尚未設在訊息中,應用程式可以取代 JMS 物件訊息中的資料物件。 在訊息內設定資料物件之後,應用程式就不會修改或取代資料物件。
  • 應用程式可以取代 JMS 位元組訊息中的位元組陣列,但必須是尚未在訊息內設定位元組訊息,且只能使用對於 writeBytes(byte[]) 的單一呼叫。在訊息內設定位元組陣列之後,應用程式就不會修改或取代位元組陣列。

如果啟用的話,修改過有效負載而透過這個啟動規格來轉遞的物件/位元組訊息,當在訊息中設定資料時,並不會複製資料,系統只在絕對必要之時,才會將訊息資料序列化。 傳送這些訊息的應用程式,在訊息內設定了資料之後,便無法修改資料。

參考資訊
必要的
資料類型 布林

共用可延續的訂閱

控制是否跨越某伺服器叢集之成員的連線來共用可延續的訂閱。

一般而言,每次只有一個階段作業可以有 TopicSubscriber 用於特定的可延續訂閱。 這個內容可讓您置換這個行為,使得可延續訂閱可以有多個同時存在的消費端(伺服器叢集中的於每一個應用程式伺服器中有一個)。

您只能在支援伺服器叢集的 WebSphere Application Server 環境中,從這個選項的預設值來變更它。

參考資訊
必要的
資料類型 下拉清單
範圍
在叢集中
允許從伺服器叢集內建立連線時共用可延續的訂閱。

一律共用
各連線可以共用可延續的訂閱。

絕不共用
各連線絕不共用可延續的訂閱

與 CMP 共用資料來源

允許在 JMS 和儲存器管理持續性 (CMP) Entity Bean 之間共用連線。

這個選項用在「使儲存器管理持續性 (CMP) Entity Bean 能夠共用傳訊引擎的資料儲存庫所用的資料庫連線」的作業中。 經過評估,這有可能使整體通訊量增進 15% 的效能,不過,只適用於連接至傳訊引擎所在的應用程式伺服器之 Entity Bean。

如需使用這個選項的相關資訊,請參閱「啟用 CMP Entity Bean 和傳訊引擎資料儲存庫以共用資料庫連線」主題。

參考資訊
必要的
資料類型 布林

先讀

先讀是一種事先將訊息指派給消費端的最佳化。這會改進滿足消費端要求所花的時間。

指派給消費端的訊息會鎖定在伺服器中,這個目的地的任何其他消費端都無法使用這些訊息。指派給消費端的訊息,如果在這個消費端關閉之前都未使用,之後便會在伺服器中解開鎖定,任何其他消費端都可以接收它。

您可以設定個別 JMS 目的地的先讀內容來置換 JMS 目的地的這個內容。

參考資訊
必要的
資料類型 下拉清單
範圍
預設值
訊息提供者會事先將訊息指派給不可延續的訂閱和非共用的可延續訂閱的消費端。也就是說,必須在只能有單一消費端時,才會開啟先讀最佳化。

已啟用
傳訊提供者會事先將訊息指派給消費端。這會改進滿足消費端要求所花的時間。

停用
傳訊提供者不會事先將訊息指派給消費端。

一律在所有伺服器中啟動 MDB

只有在 MDB 應用程式是執行於本身是應用程式目標匯流排的成員伺服器時,才使用這個內容。 當 MDB 是執行於並非目標匯流排成員的伺服器時,它沒有任何效果。

如果 MDB 應用程式是執行於本身是目標匯流排的成員伺服器,啟用這個選項之後,不論伺服器是否也管理執行中的傳訊引擎,MDB 應用程式都能夠處理訊息。 如果未啟用這個選項,若 MDB 應用程式所在的伺服器沒有本端 ME 在執行中,它就不會處理訊息。

對於連接到叢集匯流排成員的 MDB 應用程式而言,您也可以利用這個選項來啟用下列其他配置之一:
  • 叢集內的所有伺服器都可以從 MDB 應用程式接收訊息,以充分運用叢集的處理能力。
  • 每次只有一部伺服器能夠接收來自 MDB 應用程式的訊息,以確保會循序處理訊息。
如果要讓叢集內的所有伺服器接收來自 MDB 應用程式的訊息,請選取這個選項。 如果每次只要讓一部伺服器接收來自 MDB 應用程式的訊息,請檢查未選取這個選項,然後選取目的地的接收互斥選項。

如需相關資訊,請參閱「在叢集中訊息驅動 Bean 如何連接」主題。

參考資訊
必要的
資料類型 布林

重試間隔

嘗試連接傳訊引擎的延遲間隔(秒),起始連線以及後來試圖建立更好的連線,都包括在內。

參考資訊
必要的
資料類型 Integer
範圍 1 至 2147483647

鑑別別名

服務整合匯流排連線的元件管理鑑別所用的 J2C 鑑別別名的名稱。

可使用「Java Platform Enterprise Edition (Java EE) 連接器架構 (JCA)」鑑別別名,指定使用者 ID 和密碼,以便在建立新的 JMS 提供者連線時,用來進行鑑別。

如果使用鑑別別名欄位,則使用者名稱和密碼自訂內容欄位必須保留未指定。在應用程式部署時設定的鑑別別名內容,其優先順序高於在啟動規格管理物件中設定的內容。

僅鑑別別名會以未加密形式寫入檔案,即使用於交易回復記載也一樣。此安全服務用來保護實際使用者名稱及密碼。

在應用程式啟動期間,如果啟動規格正在端點啟動過程中起始設定,則伺服器會使用鑑別別名,從安全系統擷取實際使用者名稱及密碼,然後在啟動規格實例上設定它。

參考資訊
必要的
資料類型 下拉清單


檔名: SIBJMSActivationSpec_DetailForm.html