Java开源任务调度器Quartz的应用案例

Java开源任务调度器Quartz的应用案例
日期:2016年09月01日  作者:雨水,CSDN博客: http://blog.csdn.net/gobitan
摘要:任务调度在一般的应用系统中很常见,简单的定时任务用Java自带的Timer等即可实现。但对于稍微复杂一点的就需要借助第三方的库来实现,比如本文要实现的类似linux中的crontab任务,可采用Quartz实现。

本文基于Quartz实现了一个在每天凌晨零点零分零秒执行的一个任务。

第一步:依赖库添加
将如下jar包依赖以maven的方式加入到工程的pom.xml文件中。
              < dependency >
                      < groupId > org.quartz-scheduler </ groupId >
                      < artifactId > quartz </ artifactId >
                      < version > 2.2.1 </ version >
               </ dependency >
               < dependency >
                      < groupId > org.quartz-scheduler </ groupId >
                      < artifactId > quartz-jobs </ artifactId >
                      < version > 2.2.1 </ version >
               </ dependency >

第二步:实例化并启动一个调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();

第三步:创建Job类
自定义Job类需要实现org.quartz.Job接口的execute方法。如下所示:
public class LogJob implements org.quartz.Job {
    private Logger logger = Logger.getLogger(this.getClass());

    public LogJob() {
    }

    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        logger.info("The log job is executed.");
    }
}
这里只是为了举例,所以该任务只是打印一个日志。

第四步:创建job及触发器trigger
final String CRON_RULES = "0 0 0 * * ?";
 
JobDetail job = newJob(CleanCachedPushMessageJob.class).withIdentity(
                    "job1", "group1").build();
CronTrigger trigger = newTrigger().withIdentity("trigger1", "group1")
                    .withSchedule(cronSchedule(CRON_RULES)).forJob(job)
                    .build();
这里触发该任务的规则类似linux中的crontab。本文中的规则表达的是每天凌晨零点零分零秒执行该任务。如果需要修改其他方式,参见本文参考资料[2]。

第四步:加载调度任务
scheduler.scheduleJob(job, trigger);

本文完整的maven工程例子可以在 https://github.com/dennishucd/J2EE/tree/master/quartzexample下载到。

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gobitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值