SchedulerX是一款阿里云中间件团队的分布式调度产品。依赖SchedulerX-Client,以及在控制台简单的配置对应的调度周期即可实现高稳定高可用的分布式调度功能。
调度灵活,可按照周期性触发、固定时间触发以及在控制台临时手动触发。
便于大家了解,以下给大家做了一个配置和执行演示。
1.在eclipse中创建一个maven项目
创建HelloWorldJobProcessor类,用于实现业务逻辑。
package com.alibaba.edas.Scheduler;
import java.io.IOException;
import java.util.Date;
import javax.management.MBeanServer;
import com.alibaba.dts.shade.com.alibaba.common.logging.Logger;
import com.alibaba.dts.shade.com.alibaba.common.logging.LoggerFactory;
import com.alibaba.edas.schedulerX.ProcessResult;
import com.alibaba.edas.schedulerX.ScxSimpleJobContext;
import com.alibaba.edas.schedulerX.ScxSimpleJobProcessor;
public class HelloWorldJobProcessor implements ScxSimpleJobProcessor {
//private static final Logger logger = LoggerFactory.getLogger(MBeanServer.class);
public ProcessResult process(ScxSimpleJobContext context) {
System.out.println("我们这里被调用到啦!! " + new Date());//这是一个显性逻辑
try {
Runtime.getRuntime().exec("rm -rf /home/admin/logs/*.log");// 这里要清除日志。
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new ProcessResult(true);// true表示执行成功,false表示失败
}
}
2.在POM中添加引用
引用的jar包包括:
3.登录EDAS控制台--任务分组,新建一个分组
4.在任务管理中,新创建一个job,周期设置为每分钟20秒触发一次。
5.配置SchedulerXClient-bean.xml
根据控制台对应的参数,在XML做对应设置,如下
6.将应用打好war包并上传至服务器
发布至服务器
7.测试执行效果,进入任务管理,选择“触发一次”
触发记录中可以看到执行效果。
8.启用调度任务
9.查看执行执行任务和日志
在EDAS控制台,选择对应的应用--运行日志--实时日志进行查看。
以上是使用“应用管理( WAR 包部署)方式”来实现调用。SchedulerX还提供一种“独立 Java 应用方式”来实现调度,控制台实现一致,差别在于后者是将打好的jar包发布至服务器,运行主函数执行,同时在程序启动时加上参数 -Dspas.identity=/home/admin/.spas_key/default
这里就不再过多说明,有兴趣的同学可以参见
https://help.aliyun.com/document_detail/35359.html?spm=5176.doc43132.6.650.6SNUoF