教程内容概要
1.变换节点Compute的使用
2.路由节点filter的使用
3.数据库节点Database的使用
4.路由节点RouteToLabel的使用
5.变换节点XSLTransform的使用
一、变换节点Compute
1.建立项目和消息流,拖拽相应节点并连线
2.设置相关属性,并编写ESQL文
3.测试消息流,右键点击消息流选择“测试消息流”。然后测试窗口点击“排队”,并设置相关配置,导入输入文件。
导入的XML文件内容:
<record>
<id>100001</id>
<name>张三</name>
<address>南京市</address>
<amount1>560.00</amount1>
<amount2>300.00</amount2>
</record>
4.点击“发送消息”测试消息流,QOUT队列接受的消息如下:
<record>
<id>100001</id>
<name>张三</name>
<address>南京市</address>
<amount1>560.00</amount1>
<amount2>300.00</amount2>
</record>
<record>
<name>xiao xiong</name>
</record>
二、路由节点Filter
1.建立消息流工程FilterTest
2.编写ESQL文
3.设置节点的相关属性后部署消息流
4.在输入节点的映射队列中放入消息
<student>
<score>59</score>
</student>
检测filter节点的false输出端即输出一节点的映射队列中的消息为:
三、数据库节点Database
1.建立消息流项目DataBaseTest
2.设置相关节点的属性,注意Database节点的数据源属性设置(此处填写的数据源需要在系统里配置)
3.编写ESQL文,往数据库MBDB插入一条测试数据
CREATE DATABASE MODULE DataBaseFlow_数据库
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
INSERT INTO Database.RECORDS VALUES ('002','李四','上海市闵行区','200.00','150.00');
RETURN TRUE;
END;
END MODULE;
4.部署消息流并在QIN队列中输入测试消息,查看数据库是否新增一条数据:
四、路由节点RouteToLabel
1.建立消息流项目RouteToLabelTest
2.设置节点的相关属性
注:MQInput节点的消息域属性选择“XML”;
Compute节点的计算方式属性选择“全部”;
3.编写ESQL文,指定如何路由以及路由的目的地
注:图中L1和L2分别映射Label节点的标签名
4.测试消息流,导入测试文件record.xml后查看QOUT1和QOUT2两个队列的消息是否正确
五、变换节点XSLTransform
1.建立消息流项目XSLTransformTest
2.设置节点的相关属性
注意:传入的是XML格式的消息所以需设置XSLTransform的消息域属性
3.编写XSL样式表定义文件
注:position()表示employee节点的位置层次
@id表示employee节点的“id”属性
text()表示节点对应的值
4.部署消息流,建立流测试并导入employee.xml文件后查看测试结果
注:employee.xml文件内容
<employees>
<employee id="001">admin</employee>
</employees>