任务:熟悉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-