2012-12-22 56 views
0

我的隊列管理器有退出隊列。在WMB中處理退出消息的最佳方法

我想建立一個消息流將讀取該隊列,如果任何消息來排隊應該採取的消息,並包裝在一個特殊格式的XML消息,並把它放在正常的異常隊列獲得處理的例外。

但是,到達退出隊列的消息可以是任何格式,我必須在該消息將成爲字段的地方製作一個xml。

那麼,有什麼能爲我流的最佳設置(對於像CCSID,格式等MQMD屬性)和解析器我應該使用(DFDL或BLOB或MRM)?

請指教。

回答

0

既然你不知道什麼樣的消息到達回退隊列,你不應該用特定的解析器(比如XMLNSC等)解析它。可能您在MQInput上設置的泛型參數越多,您將越好地確定消息中的內容。

因此,我會從默認消息域(BLOB)開始,並保留其他參數。將某個日誌記錄節點(例如,跟蹤節點)連接到Catch和Failure終端。將Out終端連接到包含ESQL的計算節點,以確定錯誤類型並確定進一步的操作(例如,路由到標籤)。然後在每個標籤中決定應將哪部分消息映射到最終異常消息和映射。

如果您需要結果消息中退出隊列中當前消息的MQMD屬性,只需提取值並將/ concatenate /任何內容輸出到結果消息XML部分。我認爲你不應該將MQMD(和其他)頭部原樣複製到結果消息中,因爲這可能是原始消息進入退出隊列並且結果消息會再次到達那裏的原因。從頭構建結果消息頭。

如果在進行這些轉換時發生不良情況,您會在跟蹤中看到問題。然後適當修改錯誤處理邏輯,以避免將來處理不當。

相關問題