任務:熟悉RouteToLabel節點,Label節點及Catch的使用
1.RouteToLabel節點在Routing下,與Filter節點在一起,label節點也在里面。如下圖拖拽出一個RouteToLabel節點,兩個Label節點。

2.再增加一個MQ Output節點Mq output2,關聯到OutQ3。這個節點作用是當Compute導向出現異常(如address是深圳)時將信息發到OutQ3上。注意MQ
Mq output2到Mq Input的連線的起點和終點。

3.設置Compute節點的Compute Mode類型為ALL,這是為了在其中書寫新的ESQL做的準備。

4.編輯Compute節點的新的ESQL。

SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelName = InputRoot.XML.mail.address;
這條語句會查看輸入XML的mail節點的address節點的內容,如果能找到對應(mail節點的address節點的內容==Label節點的Label Name)的Label節點,則將消息導向到這個Label的后端;如果找不到的話,則將信息導向到Compute節點來源節點的catch端。
5.設置Label節點一(大連)的Label Name。

6.設置Label節點二(上海)的Label Name。

7.給各條連線加上斷點,用以觀察消息的流向。

8.當消息為“<mail><id>0001</id><address>dalian</address></mail>”時,如愿,消息被導向到了MQ Output。

-The End-