填好各項數據,需要注意的是這裡的端口是隊列管理器的偵聽端口,然後可以填入我們想入隊的消息,也可以選擇已有的文件內容作為消息入隊。這裡有一個問題,需要把對應的隊列管理器的CCSID改成819,方法如下:
queue manager CCSID 參數的方法:
1. strmqm qmgr_name #啟動queue manager
2. runmqsc qmgr_name #進入MQSC交互模式
3. DISPLAY QMGR CCSID #顯示queue manager的CCSID
4. ALTER QMGR CCSID(819) #修改queue manager的CCSID =1208
5. END #結束MQSC交互模式
五、WMB調試
在WMB中要調試需要安裝RAC,為需要調試的項目新建調試
流引擎名即為代理名加上執行組名稱。
可以再節點連線上打斷點,也可以在ESQL中打上斷點:
如果調試過程中有問題,可以簡單的參看”事件日誌”:
還可以進行trace跟蹤:
跟蹤分為user trace 和 service trace ,user trace 對代理、執行組、消息流提供詳細記錄。後者更詳細,還包括工作台、配置管理器、用戶名服務器的詳細工作記錄。
跟蹤開關缺省時關閉的,可以再WMBT視圖中打開,(用戶跟蹤)也可以通過控制台命令打開。
控制台命令: mqsichangetrace 代理名 -u -e 執行組名 -l normal(debug) -c 500
-l 表示記錄級別, -c表示記錄文件大小,以KB為單位。
運行完一次消息流後用mqsireadlog命令將trace 內容輸出到文件:
Mqsireadlog 代理名 -u -e 執行組名 -o trace.xml
再格式化trace文件:
Mqsiformatlog -i trace.xml -o trace.txt
通常用完跟蹤後需關閉跟蹤開關,因為跟蹤的系統開銷比較大:
Mqsichangetrace 代理名 -u -e 執行組名 -l none -r
-r 表示清空 trace從頭記錄。
Trace輸出文件可以到\IBM\MQSI 目錄下查看。
六、邏輯樹
消息流中輸入節點把消息從比特流解析成邏輯樹形式,而輸出接點相反,邏輯樹是消息流中表達消息組織形式的唯一方式,可在ESQL中直接引用操作。
WMB中有4個邏輯樹:Message、Environment、LocalEnvironment、Exceptionlist。
(1)Message樹中根為root,其下有多個分支, propertis分支用於存放消息屬性,如消息集、類型、格式、編碼、字符集等等。Body分支用於存放消息體。
(2)Environment用來存放各種數據,貫穿整個消息流執行過程,它是唯一的全局邏輯樹。
如果要建立上面Environment的內容,使用下面ESQL語句:
SET Environment.Variables = ROW(‘granary’ AS bread, ‘riesling’ AS wine, ‘stilton’ AS cheese);
SET Environment.Variables.Colors[] =
LIST{‘yellow’, ‘green’, ‘blue’, ‘red’, ‘black’};
SET Environment.Variables.Country[] = LIST{ROW(‘UK’ AS name, ‘pound’ AS currency),
ROW(‘USA’ AS name, ‘dollar’ AS currency)};
(3)LocalEnvironment下的Variables相當於一塊共享空間。可以存放任何臨時數據。還可以使用 LocalEnvironment 樹來定義消息可以送達的目的地。
Variables
此子樹是可選的。如果創建本地環境變量,建議您將這些變量存儲在名為 Variables 的子樹中。
Destination
此子樹由許多子代組成,這些子代表明將消息導向哪種消息傳輸類型(”傳輸”標 識),或是 RouteToLabel 節點使用的目標 Label 節點。
WrittenDestination
此子樹包含已寫入消息的地址。其名稱是固定的。
(4)Exceptionlist:在消息流正常執行過程中Exceptionlist始終為空,當有異常情況時WMB構建Exceptionlist。
十.ESQL
1、對常量名、模式名、標號大小寫敏感,除此之外大小寫不敏感。
2、五種基本類型:boolean, datetime, numric, string, reference.
3、變量種類:normal, external, shared.
Normal為普通變量,在定義範圍內可見,不可被多個並發線程實例共享。
External實際上是數據常量,只能讀不能改,可以被消息流的所有線程實例共享。
Shared變量可以被單個消息流所有線程實例共享。
4、訪問數據庫:
可創建並配置消息流中的 ESQL 以訪問用戶數據庫。
可使用多個 ESQL 語句和函數以訪問數據庫:
INSERT 語句
INSERT 語句將行添加到數據庫表
UPDATE 語句
UPDATE 語句更改一個或多個存儲在零或多行中的值
DELETE FROM 語句
DELETE FROM 語句除去零或多行
SELECT 函數
SELECT 函數檢索來自表的數據
CALL 語句
CALL 語句調用存儲過程
PASSTHRU 語句
PASSTHRU 語句可用於調用創建表等管理操作
PASSTHRU 函數
PASSTHRU 函數可用於調用複雜選擇
以下文章點擊率最高
Loading…