[关闭]
@ruoli 2016-08-31T07:29:09.000000Z 字数 1096 阅读 3499

使用Quartz实现任务的简易监控和配置

其他开源框架


1、Quartz简单介绍

Quartz是当下使用最多的作业调度框架,它提供了巨大的灵活性而不牺牲简单,你能够用它来为执行一个作业而创建简单的或复杂的调度

2、封装目的

简单的封装使Quartz更加好用,使调度本身与业务分离,耦合程度更低,使编码人员只需要关注自己的业务实现而不用关注调度本身。
由于定时调度实现的具体业务逻辑未知,比如同步人员或组织,报表统计等,不可预知的资源消耗对性能的影响及跑挂的风险,为了不影响主程序,推荐单独一个工程独立运行。

3、代码实现

对原有的Job接口进行了再一次封装,添加了新的接口IJob,实现用最少的代码实现作业的配置,系统的监听会随着服务一起启动,自动扫描到这个类,自动根据配置信息,生成作业并自动调度,新增一个作业任务仅需要如下简单代码:

  1. package job;
  2. import java.util.Date;
  3. import org.quartz.JobExecutionContext;
  4. import org.quartz.JobExecutionException;
  5. import coreJob.IJob;
  6. import coreJob.JobInfo;
  7. public class MyJob1 implements IJob {
  8. public JobInfo setJobInfo() {
  9. JobInfo job=new JobInfo();
  10. job.setJobGroup("MyJobGroup");//设置任务分组
  11. job.setJobName("自定义同步调度");//设置任务名称
  12. job.setStartTime(new Date()); //设置任务开始时间
  13. job.setTriggerType(2);//设置任务执行计划
  14. //1:每分钟执行一次,
  15. //2:每小时执行一次,
  16. //3:每天执行一次,
  17. //0:使用cron表达式执行,使用此项时cron表达式必填。
  18. //job.setCron("0 0/5 14 * * ?");
  19. //job.setCronDescription("在每天下午2点到下午2:55期间的每5分钟触发");
  20. return job;
  21. }
  22. public void execute(JobExecutionContext arg0) throws JobExecutionException {
  23. System.out.println(System.currentTimeMillis());
  24. }
  25. }

4、任务监控

为了更好的监控查看已有的作业,并对作业进行有效的控制,比如暂停,恢复,立即执行等,实现了任务监控管理功能,如下图:

任务监控图

5、代码下载

点击此处下载工程附件

下载密码:kb6t

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注