@ruoli
2016-08-31T15:29:09.000000Z
字数 1096
阅读 3648
其他开源框架
Quartz是当下使用最多的作业调度框架,它提供了巨大的灵活性而不牺牲简单,你能够用它来为执行一个作业而创建简单的或复杂的调度
简单的封装使Quartz更加好用,使调度本身与业务分离,耦合程度更低,使编码人员只需要关注自己的业务实现而不用关注调度本身。
由于定时调度实现的具体业务逻辑未知,比如同步人员或组织,报表统计等,不可预知的资源消耗对性能的影响及跑挂的风险,为了不影响主程序,推荐单独一个工程独立运行。
对原有的Job接口进行了再一次封装,添加了新的接口IJob,实现用最少的代码实现作业的配置,系统的监听会随着服务一起启动,自动扫描到这个类,自动根据配置信息,生成作业并自动调度,新增一个作业任务仅需要如下简单代码:
package job;
import java.util.Date;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import coreJob.IJob;
import coreJob.JobInfo;
public class MyJob1 implements IJob {
public JobInfo setJobInfo() {
JobInfo job=new JobInfo();
job.setJobGroup("MyJobGroup");//设置任务分组
job.setJobName("自定义同步调度");//设置任务名称
job.setStartTime(new Date()); //设置任务开始时间
job.setTriggerType(2);//设置任务执行计划
//1:每分钟执行一次,
//2:每小时执行一次,
//3:每天执行一次,
//0:使用cron表达式执行,使用此项时cron表达式必填。
//job.setCron("0 0/5 14 * * ?");
//job.setCronDescription("在每天下午2点到下午2:55期间的每5分钟触发");
return job;
}
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println(System.currentTimeMillis());
}
}
为了更好的监控查看已有的作业,并对作业进行有效的控制,比如暂停,恢复,立即执行等,实现了任务监控管理功能,如下图:
下载密码:kb6t