MQ 取得訊息選項

「MQ 取得訊息」選項會控制 MQGET 的動作。

您可以指定本節稍後說明的一個以上選項,或是不指定任何選項。如果您需要多個選項,其值可以是:
  • 已新增(請不要將相同常數相加超過一次),或者
  • 利用執行位元 OR 運算來組合(如果程式設計語言支援位元運算)。

選項欄位的起始值是 MQGMO_NO_WAIT 加 MQGMO_PROPERTIES_AS_Q_DEF。

內容選項

下列選項與訊息的內容相關:
MQGMO_PROPERTIES_AS_Q_DEF

訊息的內容(訊息描述子或延伸中的除外)必須依 PropertyControl 佇列屬性所定義的方式來顯示。如果已提供 MsgHandle,則這個選項會被忽略,且您可以使用 MsgHandle 取得訊息的內容,除非 PropertyControl 佇列屬性的值是 MQPROP_FORCE_MQRFH2

如果未指定內容選項,這是預設動作。

MQGMO_PROPERTIES_IN_HANDLE

必須可以使用 MsgHandle 來取得訊息的內容。如果未提供訊息控點,則呼叫會失敗,原因為 MQRC_HMSG_ERROR

MQGMO_NO_PROPERTIES

不擷取訊息的內容(訊息描述子或延伸中的除外)。如果已提供 MsgHandle,這個選項會被忽略。

MQGMO_PROPERTIES_FORCE_MQRFH2

訊息的內容(訊息描述子或延伸中的除外)必須使用 MQRFH2 標頭來顯示。如此可以對預期要擷取內容,但無法變更為使用訊息控點的應用程式,提供舊版相容性。如果已提供 MsgHandle,這個選項會被忽略。

MQGMO_PROPERTIES_COMPATIBILITY
如果訊息包含字首為 "mcd.""jms.""usr.""mqext." 的內容,則所有訊息內容都會放在 MQRFH2 標頭中遞送給應用程式。否則,訊息的所有內容(訊息描述子或延伸中的除外)都會被捨棄,而不再能供應用程式存取。

預設選項

如果不需要之前所說明的任何選項,則可以使用下列選項:
MQGMO_NONE
使用這個值來指出未指定其他選項;所有選項都採用其預設值。MQGMO_NONE 有助於提供程式的使用說明;這個選項並不是要用來與任何其他選項搭配使用,但由於其值為零,因此,即使這樣使用,系統也偵測不到。

參考 參考

反饋

「時間戳記」圖示 前次更新時間: Wednesday, 14 February 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.explorer.doc/com.ibm.mq.explorer.doc/e_properties_gmo.htm