mule实现定时任务查询数据

定时任务用到poll组件,新建flow添加poll组件,数据库组件内嵌在poll组件内,添加logger组件,搭建好如图:

 

mule实现定时任务查询数据

另外,在整个flow上还要做一个设置:

mule实现定时任务查询数据

上面是poll组件可以做设置的地方,watermark设定的数据可以用于查询数据的条件

比如:现在的要求是每次轮训查询只查询新加的记录,那上面设置的值maxid就是当前这次查询最大的记录id,那database组件中的查询就可以这么写:

mule实现定时任务查询数据

#[flowVars.maxid]表达式就是最近查询得到的最大的id值,sql定义为查询大于当前id的记录,即没有新增记录时是没有查询结果的。

启动项目,就可以发现第一次查询返回有数据,后续如果库中不在增加记录,后面的轮询是没有返回结果的