如何使用TimeoutNotification节点
创建流程:
Esql代码如下:
SET "OutputRoot"."Properties"."MessageDomain" = 'XML';
SET "OutputRoot"."MQMD"."Format" = MQFMT_STRING;
SET "OutputRoot"."XML"."TimeoutRequest" =
"InputLocalEnvironment"."TimeoutRequest";
发布即可。
实例演示:
每10秒将一个表(mytbl)的数据移动到另外一个表(mytbl2)中,然后删除mytbl中的数据。
消息流同上,esql写法如下:
SET "OutputRoot"."Properties"."MessageDomain" = 'XML';
SET "OutputRoot"."MQMD"."Format" = MQFMT_STRING;
SET "OutputRoot"."XML"."TimeoutRequest" =
"InputLocalEnvironment"."TimeoutRequest";
SET Environment.Variables.Reservation[] = (SELECT * FROM Database.MYTBL); --此处从数据库中把数据找出来,保存在一个数组中。
DECLARE I INTEGER 1;
DECLARE J INTEGER CARDINALITY(Environment.Variables.*[]);
WHILE I <= J DO
insert into Database.mytbl2 values(Environment.Variables.Reservation[I].ID,Environment.Variables.Reservation[I].NAME);
// 循环读取数据,把数据插入到表mytbl2 中去
SET I = I + 1;
END WHILE;
delete from Database.MYTBL;
//删除mytbl中的数据。
RETURN TRUE;
引申的为,每次记录下查询数据的唯一标志,然后删除该条数据。
该流程缺少灵活性,如果有必要,还要使用相关控制节点