JMS 啟動規格與一或多個訊息驅動 Bean 相關聯,並且提供其接收訊息時所需的配置。
如果想要利用訊息驅動 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 名稱。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 是 |
| 資料類型 | String |
資源的選用說明。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 文字區 |
訊息驅動 Bean 使用 Queue 或 Topic Destination。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 是 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
目的地的 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 |
階段作業如何確認它接收的任何訊息。
刪除訊息時會傳送確認。
如果服務品質設為最大努力非持續性,訊息會在 Bean 啟動時刪除。如果是所有的其他服務品質,則會在 Bean 完成時刪除訊息。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
識別傳訊引擎群組的目標名稱。請利用目標類型內容來指定目標類型。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | String |
Target 內容所指名的目標類型。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
這個內容指定目標群組的重要性。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
當以應用程式之外的個別程序來連接傳訊引擎時,應用程式應設為目標之入埠傳輸鏈的名稱。 如果選擇了另一個程序中的傳訊引擎,傳訊引擎必須在執行指定的入埠傳輸鏈的伺服器中,才可以建立連線。 請參閱資訊中心,以取得相關資訊。
如果所選傳訊引擎位於應用程式所在相同伺服器,則會進行直接的進行中連線,且會忽略這個傳輸鏈內容。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | String |
用來連接引導伺服器的逗點區隔端點 Triplet 清單,語法如下:hostName:portNumber:chainName。 例如,Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging。
如果未指定主機名稱,就會用 localhost 作為預設值。
如果未指定埠號,就會用 7276 作為預設值。
如果未指定鏈通訊協定,就會用 BootstrapBasicMessaging 之類預先定義的鏈來作為預設值。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 文字區 |
在單一批次中從傳訊引擎收到的訊息數目上限。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | Integer |
| 範圍 | 1 至 2147483647 |
訊息並行遞送的端點數目上限。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | Integer |
| 範圍 | 1 至 2147483647 |
當連續失敗的訊息數目達到您指定的限制時,這些參數會使端點自動停止。 這有助於辨明因本身的問題而失敗的一兩個訊息,以及造成許多訊息連續失敗的系統資源問題。
當端點自動停止時,它在管理主控台上的「狀態」是紅色。 必須按一下回復,手動重新啟動它。
端點重新啟動之後,就會重試任何造成端點停止的失敗訊息。如果它們仍然失敗,倘若配置的話,就會將它們移到異常狀況目的地。
根據下列參數,啟用端點的自動停止。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 布林 |
當連續失敗的訊息數目達到配置的限制時,端點會停止。 由於 MDB 中的處理程序相依關係,實際處理的訊息數目可能會超出這個值。
除非啟用了 在重複的訊息失敗時自動停止端點 內容,否則,不會啟用這個內容。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | Integer |
任何 MDB 無法處理但尚未達到遞送失敗次數上限的訊息,必須過了這個時段(毫秒),才會再重試。 在這段期間,除非連續失敗臨界值和並行上限設為 1,否則,仍會嘗試其他訊息。
設定重試失敗訊息的延遲間隔,可以縮減在 MDB 停止之前,不必要地移至異常狀況目的地的訊息數目。 如果要將移動的訊息數目減到最少,請將這個延遲設為大於訊息抵達目的地的預期時間間隔。
除非啟用了 在重複的訊息失敗時自動停止端點 內容,否則,不會啟用這個內容。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | Integer |
| 範圍 | 時間單位是毫秒。 0 值表示重試沒有延遲間隔。 |
JMS 主題訂閱是否可延續。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
可延續的主題訂閱需要的訂閱名稱。 當使用可延續的主題訂閱時,這是必要欄位。
這個訂閱名稱在給定的用戶端 ID 內必須是唯一的。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | String |
在利用這個啟動規格來建立的所有連線上,可延續的主題訂閱所需要的 JMS 用戶端 ID。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | String |
用來儲存遞送到「這個 JMS 啟動規格所建立的物件之可延續的訂閱」之訊息的傳訊引擎名稱。當使用可延續的主題訂閱時,則此為必要欄位。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | String |
如果啟用的話,透過這個啟動規格接收的物件訊息,系統只在絕對必要之時,才會將它們的訊息資料序列化。 應用程式必須將取自這些訊息的資料視為 readOnly。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 布林 |
如果啟用的話,修改過有效負載而透過這個啟動規格來轉遞的物件/位元組訊息,當在訊息中設定資料時,並不會複製資料,系統只在絕對必要之時,才會將訊息資料序列化。 傳送這些訊息的應用程式,在訊息內設定了資料之後,便無法修改資料。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 布林 |
先讀是一種事先將訊息指派給消費端的最佳化。這會改進滿足消費端要求所花的時間。
指派給消費端的訊息會鎖定在伺服器中,這個目的地的任何其他消費端都無法使用這些訊息。指派給消費端的訊息,如果在這個消費端關閉之前都未使用,之後便會在伺服器中解開鎖定,任何其他消費端都可以接收它。
您可以設定個別 JMS 目的地的先讀內容來置換 JMS 目的地的這個內容。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |
| 範圍 |
|
只有在 MDB 應用程式是執行於本身是應用程式目標匯流排的成員伺服器時,才使用這個內容。 當 MDB 是執行於並非目標匯流排成員的伺服器時,它沒有任何效果。
如果 MDB 應用程式是執行於本身是目標匯流排的成員伺服器,啟用這個選項之後,不論伺服器是否也管理執行中的傳訊引擎,MDB 應用程式都能夠處理訊息。 如果未啟用這個選項,若 MDB 應用程式所在的伺服器沒有本端 ME 在執行中,它就不會處理訊息。
如需相關資訊,請參閱「在叢集中訊息驅動 Bean 如何連接」主題。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 布林 |
嘗試連接傳訊引擎的延遲間隔(秒),起始連線以及後來試圖建立更好的連線,都包括在內。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | Integer |
| 範圍 | 1 至 2147483647 |
服務整合匯流排連線的元件管理鑑別所用的 J2C 鑑別別名的名稱。
可使用「Java Platform Enterprise Edition (Java EE) 連接器架構 (JCA)」鑑別別名,指定使用者 ID 和密碼,以便在建立新的 JMS 提供者連線時,用來進行鑑別。
如果使用鑑別別名欄位,則使用者名稱和密碼自訂內容欄位必須保留未指定。在應用程式部署時設定的鑑別別名內容,其優先順序高於在啟動規格管理物件中設定的內容。
僅鑑別別名會以未加密形式寫入檔案,即使用於交易回復記載也一樣。此安全服務用來保護實際使用者名稱及密碼。
在應用程式啟動期間,如果啟動規格正在端點啟動過程中起始設定,則伺服器會使用鑑別別名,從安全系統擷取實際使用者名稱及密碼,然後在啟動規格實例上設定它。
| 參考資訊 | 值 |
|---|---|
| 必要的 | 否 |
| 資料類型 | 下拉清單 |