IBM MQ 佇列內容
您可以對佇列設定的屬性取決於佇列的類型。不同類型的 IBM® MQ 佇列有不同的內容。某些屬性不適用於所有類型的佇列,某些屬性專屬於叢集佇列,而某些屬性則專屬於 z/OS® 佇列。
下表列出您可以對所有類型的佇列設定的屬性:
每一個屬性都有關於您何時可能需要配置該屬性的簡要說明。這些表格也提供了 ALTER QUEUE 和 DISPLAY QUEUE 指令同等的 MQSC 參數。如需 MQSC 指令的相關資訊,請參閱 IBM MQ 線上產品說明文件中的 MQSC 指令。
「一般」頁面
下表列出您可以在「佇列內容」對話框的一般頁面中設定的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
佇列名稱 | 唯讀。在建立之後,您就不能變更佇列的名稱。 | QNAME |
佇列類型 | 唯讀。在建立之後,您就不能變更佇列的類型。 | QTYPE |
QSG 處置 | (僅限 z/OS 共用佇列)唯讀。佇列的佇列共用群組處置方式。指定物件的處置方式(其定義的位置及其行為)。在建立之後,您就不能變更佇列的處置方式。佇列管理程式表示物件定義只能用於管理它的佇列管理程式;群組表示物件定義會儲存在共用儲存庫,且佇列共用群組中的每一個佇列管理程式都有一份定義;副本表示物件定義是共用儲存庫中佇列管理程式的定義副本;共用表示物件定義係儲存在佇列共用群組的連結機能中,且可供佇列共用群組中的所有佇列管理程式使用。 | QSGDISP |
說明 | 輸入佇列用途的有意義的說明。請參閱內容對話框中的字串。 | DESCR |
放置訊息 | 如果可將訊息放入佇列中,請選取允許;如果不要將訊息放入佇列中,請選取禁止。 | PUT |
取得訊息 | 如果可從佇列取得訊息,請選取允許;如果不要從佇列取得訊息,請選取禁止。 | GET |
預設優先順序 | 輸入放到佇列中的訊息預設優先順序(0 到 9);0 是最低優先順序。 | DEFPRTY |
預設持續性 | 新佇列的預設持續性為非持續。選取持續會指定由應用程式使用 MQPER_PERSISTENCE_AS_Q_DEF 所建立的訊息會成為持續的。選取非持續則會指定由應用程式使用 MQPER_PERSISTENCE_AS_Q_DEF 所建立的訊息會成為非持續的。 | DEFPSIST |
範圍 | 若要將佇列放到 Cell 目錄中,並使 Cell 內的所有佇列管理程式都知道該佇列,請選取 Cell;若要限制佇列的範圍,使其不會擴充到其佇列管理程式外,請選取佇列管理程式。 | SCOPE |
用法 | 若要使佇列成為本端佇列,請選取一般;若要使佇列成為傳輸佇列,請選取傳輸。當佇列中有訊息時,請勿變更「用法」屬性。 | USAGE |
基本類型 | 選取別名佇列解析的物件類型(佇列或主題)。預設值是佇列。 | TARGTYPE |
遠端佇列 | 輸入遠端佇列定義所指的佇列名稱。 | RNAME |
遠端佇列管理程式 | 輸入管理遠端佇列的佇列管理程式名稱。 | RQMNAME |
傳輸佇列 | 輸入本端佇列管理程式用來傳送訊息至遠端佇列管理程式的傳輸佇列名稱。 | XMITQ |
「延伸事項」頁面
下表列出您可以在「佇列內容」對話框的延伸事項頁面中設定的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
佇列深度上限 | 輸入佇列中允許的訊息數上限。指定 0 - 999999999 的值。 | MAXDEPTH |
訊息長度上限 | 輸入佇列中允許的訊息長度上限(以位元組計)。在除 z/OS 以外的所有平台上,請指定從 0 到佇列管理程式訊息長度上限的值。請參閱佇列管理程式內容中的訊息長度上限屬性。在 z/OS 上,請指定 0 - 100 MB 的值。如果 QSG 處置屬性的值是共用,或如果 定義類型屬性的值是共用動態,則佇列的訊息長度上限值必須是 0 到 4 MB。在其他平台上,請指定 0 到 4 MB 的值。 | MAXMSGL |
共用性 | 若要共用佇列,使得應用程式的多個實例可以開啟這個佇列以供輸入,請選取可共用;若要限制佇列,使得一次只有一個應用程式實例可以開啟佇列,請選取不可共用。 | SHARE |
預設的輸入開啟選項 | 若要允許開啟佇列以供輸入的應用程式對佇列中的訊息有專用存取權,請選取專用;若要允許開啟佇列以供輸入的任何數目的應用程式都可以存取佇列中的訊息,請選取共用。 | DEFSOPT |
訊息交付順序 | 若要指定依照訊息的優先順序,從佇列中取得訊息,請選取優先順序。若要指定依照訊息放入佇列的順序,從佇列中取得訊息,請選取 FIFO(先進先出)。 | MSGDLVSQ |
保留間隔 | 鍵入從建立佇列的日期和時間起,可能需要該佇列的時數(0 - 999999999)。您可以使用這項資訊來判斷何時不再需要該佇列。當佇列不再需要時,並不會被刪除。 | RETINTVL |
管道名稱 | (僅限 z/OS 共用佇列)唯讀。 | |
索引類型 | (僅限 z/OS 共用佇列)若要指定佇列管理程式所維護的索引類型(用於增加佇列上 MQGET 作業的速度),請選取下列五個選項之一: 無:未維護索引。若要依序擷取訊息,請使用這個項目。這是預設值。 群組 ID:維護群組 ID 的索引。如果您要對訊息群組進行邏輯排序,您必須使用這種索引類型。相關性 ID:維護相關性 ID 的索引。如果您在 MQGET 呼叫中使用 CorrelId 欄位作為選取準則來擷取訊息,請使用這個項目。 訊息 ID:維護訊息 ID 的索引。如果您在 MQGET 呼叫中使用 MsgId 欄位作為選取準則來擷取訊息,請使用這個項目。訊息記號:維護訊息記號的索引。 |
|
定義類型 | 針對本端佇列,此屬性是唯讀的:預先定義表示佇列是由操作員或是傳送指令訊息給服務佇列的獲授權應用程式所建立;永久動態表示佇列是由以物件描述子 (MQOD) 中指定的模型佇列名稱來發出 MQOPEN 呼叫的應用程式所建立,且佇列是永久的;暫時動態表示佇列是由發出 MQOPEN 呼叫的應用程式所建立,但佇列是暫時的;共用動態(僅限 z/OS)也表示佇列是由發出 MQOPEN 呼叫的應用程式所建立,但佇列是永久的,且佇列共用群組處置方式為共用。 針對模型佇列,此屬性是可編輯的;若要指定從此模型佇列建立永久動態佇列,請選取永久動態(在 z/OS 上,動態佇列的處置方式為佇列管理程式);若要指定建立暫時動態佇列,請選取暫時動態(在 z/OS 上,動態佇列的處置方式為佇列管理程式);若要指定以共用處置方式建立永久動態佇列(僅限在 z/OS 上),請選取共用動態。 |
DEFTYPE |
預設先讀 | 若要在佇列層次配置先讀,請選取是。用戶端會在應用程式要求之前,自動先讀取非持續訊息。如果用戶端異常終止,或是用戶端應用程式未使用其傳送的所有訊息,非持續訊息可能會遺失。 若要配置佇列,使得用戶端不會自動先讀取非持續訊息,請選取否。這是預設值。用戶端不會在應用程式要求之前自動先讀取訊息。只有在用戶端要求時,才會先讀取訊息。如果用戶端異常終止,最多只有一則非持續訊息會遺失。 若要在佇列層次停用先讀,請選取停用。用戶端不會在應用程式要求之前先讀取訊息,不管用戶端應用程式是否有要求先讀。 |
DEFREADA |
預設放置回應類型 | 訊息放置的預設回應類型。若要指定回應會同步放置,請選取同步。若要指定回應是非同步放置,請選取非同步。 | DEFPRESP |
分送清單 | 如果允許將分送清單訊息放在佇列中,請選取啟用。如果不要將分送清單訊息放在佇列中,請選取停用。 | DISTL |
內容控制 (只適用於本端佇列、別名佇列和模型佇列) |
這會定義當指定 MQGMO_PROPERTIES_AS_Q_DEF 選項時,利用 MQGET 指令從佇列擷取的訊息內容要如何處理。 若要包含訊息的所有內容(訊息描述子或延伸中的除外),請選取全部。全部值表示在傳送訊息至遠端佇列管理程式時,訊息的所有內容都會併入訊息中。這些內容(訊息描述子或延伸中的除外)會放在訊息資料內的一個以上 MQRFH2 標頭中。 若要允許預期 JMS 相關內容位於訊息資料之 MQRFH2 中的應用程式,可以不需修改繼續運作,請選取相容性。這是預設值。相容性表示如果訊息含有字首為 mcd.、jms.、usr. 或 mqext. 的內容,則所有訊息內容都會放在 MQRFH2 標頭中遞送給應用程式。否則訊息的所有內容(訊息描述子或延伸中的除外)都會被捨棄,而不再能供應用程式存取。 若要確保內容一律會在訊息資料的 MQRFH2 標頭中傳回,不管應用程式是否指定訊息控點,請選取強制使用 MQRFH2。在 MQGET 呼叫中,MQGMO 結構之 MsgHandle 欄位中提供的有效訊息控點會被忽略。訊息的內容無法透過訊息控點存取。 若要捨棄訊息的所有內容(訊息描述子或延伸中的除外),請選取無。這個值可避免不支援訊息內容的應用程式受到訊息中包含的任何內容所影響。 V6COMPAT - 內容碼不會修改 MQRFH2 標頭。如果已提供訊息內容,但原始 MQRFH2 標頭中不含這些內容,則會在訊息控點中傳回這些內容,否則會將其捨棄。透過提供其中一個 MQGMO_PROPERTIES 選項,可以置換此行為。 註: 如果是傳輸佇列(也就是將用法設為傳輸的本端佇列),佇列的內容控制屬性並沒有作用,該屬性是對應通道物件上用於控制訊息內容行為的內容控制屬性。
|
PROPCTL |
自訂安裝 | 在引進個別屬性之前,自訂參數會保留給新特性的配置。可能的值是使用 MQSC 樣式語法,並以至少 1 個空格分隔的零個以上屬性/值配對清單。 屬性名稱及值區分大小寫,且必須以大寫來指定。值可以包含空格及括弧,但不得包含單引號。有效的語法範例如下:
佇列管理程式會剖析該值,但如果無法根據這些規則來剖析字串,或是字串包含無法辨識的屬性或值,佇列管理程式將會忽略這些錯誤。 |
CUSTOM |
叢集通道名稱 | 設定叢集傳輸佇列的叢集通道名稱參數,以置換叢集傳送端通道與叢集傳輸佇列的預設關聯。您可以指定哪些叢集傳送端通道會從這個傳輸佇列傳送訊息。 所有叢集傳送端通道的預設值是從單一叢集傳輸佇列 SYSTEM.CLUSTER.TRANSMIT.QUEUE 傳送訊息。您可以變更佇列管理程式的預設值,讓所有叢集傳送端通道都從個別傳輸佇列傳送訊息。該佇列管理程式屬性是預設叢集傳輸佇列。佇列管理程式會於必要時,自動建立個別的傳輸佇列。佇列管理程式不會設定叢集通道名稱參數 請將叢集通道名稱參數設為單一叢集傳送端通道的名稱或通用名稱。通用名稱會將多個叢集傳送端通道與這個傳輸佇列相關聯。通用名稱可在名稱的任何位置包含萬用字元 在 z/OS 上,如果設定此參數,佇列必須可共用、依相關性 ID 檢索,且不得為動態或共用佇列。 |
CLCHNAME |
「叢集」頁面
下表列出您可以在「佇列內容」對話框的叢集頁面中設定的屬性。若要在一或多個叢集中共用佇列,請編輯叢集頁面中的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
不在叢集中共用 | 若要指定這個佇列不可透過叢集連線供其他佇列管理程式使用,請選取這個選項。 | (不適用。) |
在叢集中共用 | 若要使這個佇列只可供一個叢集中的其他佇列管理程式使用,請選取這個選項,然後輸入叢集的名稱。 | CLUSTER |
在一列叢集中共用 | 若要使這個佇列可供多個叢集中的其他佇列管理程式使用,請選取這個選項,然後輸入包含該叢集清單之名稱清單的名稱。 | CLUSNL |
預設連結類型 | 這個屬性會指定當應用程式在 MQOPEN 呼叫上指定 MQ00_BIND_AS_Q_DEF,且佇列為叢集佇列時,所要使用的連結。若要在佇列開啟時,將佇列控點連結到叢集佇列的特定實例,請選取開啟時;如果允許佇列管理程式在使用 MQPUT 放置訊息時,選取特定的佇列實例,且可在之後需要時變更選擇,請選取不固定。 | DEFBIND |
CLWL 佇列等級 | 此屬性是「叢集工作量 (CLWL)」佇列等級。輸入叢集中的佇列等級(0 到 9);0 是最低優先順序。如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的分散式佇列及叢集。 | CLWLRANK |
CLWL 佇列優先順序 | 此屬性是「叢集工作量 (CLWL)」佇列優先順序。輸入叢集中的佇列優先順序(0 到 9);0 是最低優先順序。如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的分散式佇列及叢集。 | CLWLPRTY |
CLWL 使用佇列 | 「叢集工作量 (CLWL)」使用佇列內容。它會定義當目標佇列同時有本端實例和至少一個遠端叢集實例時,MQPUT 的行為。如果放置源自叢集通道,則這個屬性不適用。請選取下列其中一個選項: 選取佇列管理程式可以使用選定佇列所屬之佇列管理程式的 CLWL 使用佇列內容所指定的值。這是預設值。 選取任何可以使用本端和遠端佇列。 選取本端只能使用本端佇列。 如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的分散式佇列及叢集。 |
CLWLUSEQ |
「觸發」頁面
下表列出您可以在「佇列內容」對話框的觸發頁面中設定的屬性。若要配置佇列管理程式來進行觸發作業,請編輯觸發頁面中的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
觸發控制 | 若要啟用佇列的觸發作業,請選取開啟,然後配置佇列的其他觸發屬性;若要停用佇列的觸發作業,請選取關閉。 | TRIGGER |
觸發類型 | 若要在現行佇列深度從 0 變成 1 時觸發事件,請選取第一次;若要在超出佇列深度臨界值時觸發事件,請選取深度;若要在每次放置訊息到佇列時觸發事件,請選取每次。 | TRIGTYPE |
觸發深度 | 輸入必須放到佇列中以觸發事件的訊息數。 | TRIGDEPTH |
觸發訊息優先順序 | 輸入訊息計數有關觸發事件而必須具有的最低優先順序(1 到 9)。在判斷是否要建立觸發訊息時,佇列管理程式會忽略優先順序較低的訊息。若要計數所有訊息以接近觸發事件,請輸入 0。 | TRIGMPRI |
觸發資料 | 輸入任意形式的資料,於這個佇列造成觸發事件時,供佇列管理程式插入觸發訊息中。這些資料對佇列管理程式而言並不重要。這些資料對於處理起始佇列的觸發監視器應用程式,或是由觸發監視器啟動的應用程式而言,是有意義的。 | TRIGDATA |
起始佇列 | 鍵入起始佇列的名稱。當觸發事件的準則符合時,佇列管理程式就會將觸發訊息放到起始佇列中。 | INITQ |
程序名稱 | IBM MQ 程序的本端名稱。這個參數僅在本端和模型佇列上支援。 這是程序實例的名稱,識別 當發生事件時由佇列管理程式啟動的應用程式。定義本端佇列時,不一定要定義程序,但是在發生觸發事件時必須可用。 如果佇列是傳輸佇列,則程序定義包含要啟動的通道名稱。這個參數是選用的,如果您不指定程序名稱,則會採用指定給 TRIGDATA 參數的值之中的通道名稱。 |
PROCESS |
「事件」頁面
下表列出您可以在「佇列內容」對話框的事件頁面中設定的屬性。若要配置佇列管理程式來產生事件以回應佇列的某些準則,請編輯事件頁面中的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
佇列深度事件上限 | 若要在將訊息放到佇列中,但因佇列已滿而被拒絕時產生「佇列已滿」事件,請選取啟用。 | QDPMAXEV |
佇列深度高事件 | 若要在將訊息放到佇列中,導致佇列深度大於或等於佇列深度上限屬性的值時產生「佇列深度高值」事件,請選取啟用。 | QDPHIEV |
佇列深度上限 | 這是佇列深度上限的百分比值,作為佇列深度上限。輸入佇列管理程式會用來比較現行佇列深度,以決定是否要產生「佇列深度高值」事件的佇列深度上限百分比。 | QDEPTHHI |
佇列深度低事件 | 若要在從佇列擷取訊息而導致佇列深度小於或等於佇列深度下限屬性值時產生「佇列深度低值」事件,請選取啟用。 | QDPLOEV |
佇列深度下限 | 這是佇列深度下限的百分比值,作為佇列深度下限。輸入佇列管理程式會用來比較現行佇列深度,以決定是否要產生「佇列深度低值」事件的佇列深度下限百分比。 | QDEPTHLO |
佇列服務間隔事件 | 若要在檢查指出至少在佇列服務間隔屬性指定的時間內,都未從佇列擷取任何訊息時,產生「佇列服務間隔高值」事件,請選取高值;若要在檢查指出已在佇列服務間隔屬性指定的時間內從佇列擷取訊息時,產生「佇列服務間隔確定」事件,請選取確定;若要停用「佇列服務間隔」事件,請選取無。 | QSVCIEV |
佇列服務間隔 | 鍵入服務間隔(0 - 999999999 毫秒)。佇列管理程式會使用這個值來決定是要產生「佇列服務間隔高值」或「佇列服務間隔確定」事件。 | QSVCINT |
「儲存體」頁面
下表列出您可以在「佇列內容」對話框的儲存體頁面中設定的屬性。若要配置 IBM MQ 如何處理已取消的訊息,請編輯儲存體頁面中的屬性。
屬性 | 說明 | MQSC 參數 |
---|---|---|
取消重新安排佇列 | 輸入如果訊息取消的次數超過取消臨界值屬性中指定的次數,會將訊息傳送到其中的佇列名稱。 | BOQNAME |
取消臨界值 | 輸入在將訊息傳送到您在取消重新佇列屬性中指定的取消佇列之前,訊息可以取消的次數。 | BOTHRESH |
強制取得回復 | 若要確保當佇列管理程式重新啟動時,會正確地保留取消次數(訊息由 MQGET 呼叫所擷取,然後隨後又取消的次數),請選取強化。強化計數不利於效能,因此請只有在計數正確很重要時,才選取強化。如果計數正確並不重要,請選取不強化。 | HARDENBO |
NPM 類別 | 這個屬性會指定捨棄佇列中非持續訊息的情況。若要指定在佇列管理程式重新啟動時捨棄非持續訊息,請選取一般;這只對非共用佇列有效。若要指定佇列管理程式在佇列的有效期限內應嘗試持續保存非持續訊息,請選取高;這對非共用和共用佇列都有效;如果發生失敗,非持續訊息仍然可能遺失。 | NPMCLASS |
儲存類別名稱 | (僅限 z/OS 共用佇列)這是將佇列對映至頁集的儲存類別名稱。佇列的訊息會儲存在頁集中。您可以變更這個屬性,但前提是佇列必須是空的且關閉的。儲存類別名稱必須以大寫輸入。 | STGCLASS |
連結機能名稱 | (僅限 z/OS 共用佇列)這是儲存佇列訊息的連結機能結構名稱。您可以變更這個屬性,但前提是佇列必須是空的且關閉的。 | CFSTRUCT |
「統計資料」頁面
下表列出「佇列內容」對話框之統計資料頁面中的屬性。統計資料頁面會顯示佇列歷程的相關資訊。並非所有屬性都可以編輯。
屬性 | 說明 | MQSC 參數 |
---|---|---|
建檔日期 | 唯讀。此為佇列的建立日期。 | CRDATE |
建檔時間 | 唯讀。這是建立佇列的時間。 | CRTIME |
開啟輸入計數 | 唯讀。這是目前連接至佇列以從佇列取得訊息的應用程式數。 | IPPROCS |
開啟輸出計數 | 唯讀。這是目前連接至佇列以將訊息放到佇列中的應用程式數。 | OPPROCS |
Current®佇列深度 | 唯讀。這是佇列目前的訊息數量。 | CURDEPTH |
變更日期 | 唯讀。這是前次變更佇列屬性的日期。 | ALTDATE |
變更時間 | 唯讀。這是前次變更佇列屬性的時間。 | ALTTIME |
監視佇列 | 您可以配置 IBM MQ 來收集關於佇列現行效能的連線監視資料。若要繼承佇列管理程式之佇列監視屬性的值(請參閱佇列管理程式內容),請選取佇列管理程式。如果佇列管理程式的佇列監視屬性為無,則會忽略佇列的佇列監視屬性。 如果佇列管理程式的佇列監視屬性不是無,請執行下列動作:
如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的監視及效能。 |
MONQ |
佇列統計資料 | 您可以配置 IBM MQ 來收集關於佇列活動的統計資料。若要繼承佇列管理程式之佇列統計資料屬性的值(請參閱佇列管理程式內容),請選取佇列管理程式。如果佇列管理程式的佇列統計資料屬性為無,則會忽略佇列的佇列統計資料屬性。如果佇列管理程式的佇列統計資料屬性不是無:若要置換佇列管理程式的設定值,且不要收集這個佇列的資料,請選取關閉;若要置換佇列管理程式的設定值並收集資料,請選取開啟。如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的監視及效能。 | STATQ |
佇列帳戶 | 您可以配置 IBM MQ 來收集關於此佇列連線活動的統計資料。若要繼承佇列管理程式之佇列帳戶屬性的值(請參閱佇列管理程式內容),請選取佇列管理程式。如果佇列管理程式的佇列帳戶屬性為無,則會忽略佇列的佇列帳戶屬性。如果佇列管理程式的佇列帳戶屬性不是無:若要置換佇列管理程式的設定值,且不要收集這個佇列的資料,請選取關閉;若要置換佇列管理程式的設定值並收集資料,請選取開啟。如需相關資訊,請參閱 IBM MQ 線上產品說明文件中的監視及效能。 | ACCTQ |