练习8RouteToLabel节点多选多Word下载.docx
《练习8RouteToLabel节点多选多Word下载.docx》由会员分享,可在线阅读,更多相关《练习8RouteToLabel节点多选多Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
100001<
/id>
address>
南京市<
/address>
amount1>
560.00<
/amount1>
amount2>
300.00<
/amount2>
/record>
如果测试XML消息中address字段内容为“南京市”,则目标队列为NANJING;
如果测试XML消息中address字段内容为“上海市”,则目标队列为SHANGHAI;
如果测试XML消息中address字段内容为“杭州市”,则目标队列为HANGZHOU;
如果测试XML消息中address字段内容为“南京市/上海市”,则目标队列为NANJING和SHANGHAI;
1.目标:
✧进一步熟悉WBIMessageBrokersToolkit的操作界面;
✧学习使用RouteToLabel节点与Label节点,利用ESQL语句PROPAGATE,实现基于消息内容的动态路由(多选多)。
2.步骤:
1.在开始下面步骤之前请确保“IBMMQSeriesBrokerConfigMgr”和“IBMMQSeriesBrokerWBRK_BROKER”两个服务处于“已启动”状态。
如未启动,请使用服务面板,或命令行命令“mqsistartconfigmgr”和mqsistartWBRK_BROKER命令启动它们。
2.依此选中“开始”->
“程序”->
“IBMWebsphereBusinessIntegrationMessageBrokers”->
“WBIMessageBrokersToolkit”,打开WBIMessageBrokersToolkit。
3.单击中左上角的“打开透视图”按钮,选中“代理应用程序开发”,切换到“代理应用程序开发透视图”。
4.我们下面利用前面练习的消息流继续工作,在此需要复制它。
5.在“资源导航器”窗口中选中消息流“Exe7_RouteToLabel.msgflow”,右键单击在弹出菜单中选择“复制”。
6.在“资源导航器”窗口中选中消息流项目“WBIMB5”,右键单击在弹出菜单中选择“粘贴”;
7.在“名称冲突”对话框中输入“Exe8_RouteToLabel_Multiple.msgflow”并单击“确定”。
8.在“资源导航器”窗口中双击刚创建的消息流“Exe8_RouteToLabel_Multiple.msgflow”打开消息流编辑器。
9.在本练习中,我们不需要增加新的节点。
仅仅需要在练习7的基础上修改部分节点的属性与ESQL语句。
10.参照下表设置这些节点的属性。
(红色为发生变化的属性值)
节点类型
节点名称
属性
值
MQInput节点
读取XML消息
“基本”->
“队列名”
EXE8_IN
“缺省”->
“消息域”
XML
Compute节点
设置目的地
“计算方式”
本地环境和消息
“ESQL模块”
Exe8_RouteToLabel_Compute
RouteToLabel节点
消息分发
Label节点
南京市
“标号名”
Label1节点
上海市
Label2节点
杭州市
MQOutput1节点
南京市队列
NANJING
“队列管理器名”
WBRK_QM
MQOutput2节点
上海市队列
SHANGHAI
MQOutput3节点
杭州市队列
HANGZHOU
MQOutput节点
错误队列
FAILURE
11.本练习中节点之间的连接关系不发生变化。
12.下面需要在“设置目的地”节点内写入ESQL语句。
右键单击“设置目的地”节点,在弹出菜单中选择“打开ESQL”。
13.在打开的ESQL编辑窗口中,输入下列ESQL语句,如下图;
并用Ctrl+S保存,注意看是否出现如下所示红色错误标记或黄色的警告标记。
14.至此,消息流已设计完成。
请使用Ctrl+S保存你的消息流。
注意“任务”窗口是否出现错误或警告信息。
下面将我们设计的消息流Exe8_RouteToLabel_Multiple.msgflow发布到WBI代理WBRK_BROKER上。
15.在“资源导航器”窗口中展开服务器项目,选中“WBIMB_Project”下的MessageBrokers压缩文档“EXE2.bar”,双击打开该文件的编辑界面。
16.单击“添加”按钮添加消息流。
在“添加到代理压缩文档”对话框中,选中WBIMB5消息流项目,再在右边的消息流Exe8_RouteToLabel_Multiple.msgflow前面的复选框中打勾,以选中该消息流,单击“确定”。
17.在“操作完成”对话框中单击“确定”。
使用“Ctrl+S”保存该压缩文件,注意“内容”窗口列出了当前压缩文件中的消息流;
你也可以使用“配置”窗口查看各个消息流的细节配置。
18.下面我们把该代理压缩文件EXE2.bar部署到代理上去。
单击左上角的“打开透视图”快捷按钮,选择“代理管理”,则自动打开“代理管理透视图”。
注意下部的“域”窗口中“代理拓扑”是否连接到配置管理器。
19.使用鼠标将代理压缩文件EXE2.bar拖拽到“域”窗口中的代理WBRK_BROKER下的执行组ExecutionGroup中
20.在弹出的“代理管理”对话框中显示部署状态,确保已成功发布该代理压缩文件,单击“确定”关闭该对话框。
21.你也可以双击“域”窗口中的“事件日志”,在右边的日志窗口中查看具体日志信息,请确保最新日志为蓝色的成功标记,而不是红色的失败标记。
22.你也可以查看左下角的“域”窗口中该消息流是否存在。
好了!
到现在为止,你已经成功创建了该消息流,生成了代理压缩文件EXE2.bar并发布到了代理WBRK_BROKER上。
23.打开一个CMD窗口,输入下面的命令创建队列(可能有的队列已经存在):
✧runmqscWBRK_QM
✧DEFQL(EXE8_IN)
✧END
24.下面执行目录MQ_Tools\IH03下的rfhutil.exe启动测试工具,在“QueueManageName”字段输入“WBRK_QM”,在“QueueName”字段中输入“EXE8_IN”,再单击“ReadFile”按钮选择Exercises目录下的文件record4.xml。
该文件的内容为下图所示。
25.在“MQMD”窗口中的“CodePage”字段中输入“1381”,该代码页为中文代码页。
26.如下图单击“WriteQ”按钮将该XML消息发送到队列EXE8_IN中。
注意最下面的状态栏显示消息已发送到EXE8_IN,长度为128个字节。
27.如果消息流执行正确,由于该XML消息address字段内容为“南京市/上海市”,该XML消息将同时路由到队列NANJING和SHANGHAI中。
28.在“QueueName”字段中输入“NANJING”,单击“ReadQ”按钮读取该文件,注意状态栏中显示“MessagereadfromNANJINGlength=128”。
29.在“QueueName”字段中输入“SHANGHAI”,单击“ReadQ”按钮读取该文件,注意状态栏中显示“MessagereadfromSHANGHAIlength=128”。
30.下面测试XML消息record1.xml。
如果消息流执行正确,由于该XML消息address字段内容为“南京市”,该XML消息将仅路由到队列NANJING中。
31.同理,XML消息record2.xml将仅被路由至队列SHANGHAI。
恭喜你!
至此,你已经学习了RouteToLabel节点与Label节点实现多选多动态路由的技术。
------------------------本练习结束------------------------