WebSphere MQ Solution Designer認證考試

IBM根據其產品分類設置了相應的專業認證項目,那麼IBM認證是什麼呢?IBM認證的優勢又怎樣的呢?下面是小編整理的關於WebSphere MQ Solution Designer認證考試,希望大家認真閱讀!

WebSphere MQ Solution Designer認證考試

  打開隊列

本部分討論打開不同隊列類型的隊列的一些方面。

  隊列獨立性

當程序發出 MQOPEN 時,它始終將所打開的對象視爲本地的。隊列管理器將解析所打開的對象的名稱。

如果所打開的隊列名稱已定義爲另一個系統上某個隊列的遠程定義,則隊列管理器將負責使用管理員創建的定義來確保將消息放在正確的傳輸隊列上,並確保消息中包含必要的路由信息以支持在遠程端傳遞。此討論僅與放置信息有關;您無法從遠程隊列獲取消息。

如果所打開的隊列名稱是別名,同樣是隊列管理器負責將該名稱解析爲本地或遠程隊列的定義,並正確地傳遞該消息。

程序確實不知道所打開的隊列是本地隊列、別名隊列還是另一個系統上的隊列的遠程定義。

  別名隊列

別名隊列只是一個定義。它允許通過另一個名稱來引用某個本地或遠程隊列。別名隊列可以具有與它所指向的基礎隊列不同的屬性。例如: DEFINE QLOCAL(REALQ) GET(ENABLED) PUT(ENABLED DEFINE QALIAS(MYNAME) TARGQ(REALQ) GET(DISABLED) 允許訪問名爲 REALQ 的隊列的程序的 GET 和 PUT 消息。然而,如果程序打開名爲 MYNAME 的隊列,則只允許 PUT 消息。GET 將被禁用,儘管兩個程序實際上使用的是同一個隊列 (REALQ)。

務必要理解的是,程序的行爲就像名爲 MYNAME 的隊列是實際隊列而不只是指向另一個隊列的指針。

  隊列名稱解析

當程序打開隊列時,對象描述符包含對象名稱,並可選地包含隊列管理器的名稱。在大多數情況下,對象描述符中的 ObjectQueueManagerName 字段包含空白。如果它的確包含內容,或者包含應用程序所連接到的隊列管理器名稱,則會搜索本地定義以解析該隊列名稱。

如果隊列管理器名稱字段包含另一個隊列管理器的名稱,則假設此隊列管理器是遠程的,並搜尋一個可在其中放置 MQPUT 消息的同名傳輸隊列。

模型隊列

當管理員定義模型隊列時,該定義只是一個模板。當在某個 MQOPEN 的對象描述符中指定模型隊列的'名稱時,將會動態創建一個具有該模型屬性的隊列。模型本身沒有其他用途。在顯示新隊列的特徵時,該隊列作爲本地隊列出現。

臨時動態隊列 僅持續至創建它的程序執行結束(正常或異常結束),或持續至創建程序關閉它。不存在將臨時動態隊列保留到該時間點以後的方法。

臨時動態隊列不能包含持久消息。

持久動態隊列 完全以相同的方式創建,但是不會自動刪除它們。它們必須通過某個刪除關閉選項或由管理員使用刪除命令來明確刪除。創建之後,WebSphere MQ 並不執行任何特殊操作來跟蹤動態創建的永久動態隊列。

所選的動態隊列類型是應用程序設計的事情。

  動態隊列名稱

對象描述符中的 DynamicQueueName 字段用於控制所創建的動態隊列名稱。當星號出現在隊列名稱最後一個位置時,則會在生成的名稱中將其替換爲保證對本地隊列管理器唯一的字符串。DynamicQueueName 字段存在多種選擇:

缺省值(對於 z/OS 是 CSQ.*,對於其他環境是 AMQ.*)。

結尾沒有星號的名稱,如 MYQUEUE。此類名稱可能不唯一。

名稱,如 MYQUEUE.*。出於管理和安全性的考慮,可以對其名稱以共同字符串開頭的隊列分組。