我是靠谱客的博主 开放饼干,这篇文章主要介绍Quartz定时执行程序,现在分享给大家,希望可以做个参考。

Quartz是一个定时任务执行的框架。

几个概念:

    Scheduler :计划者
    CronTrigger :触发条件
    JobDetail :任务的细节
    Job :具体执行的任务


1 创建具体任务:编写一个类实现Job接口,把定时执行的任务代码写在该类的execute方法中

复制代码
1
2
3
4
5
6
7
8
9
10
import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class QuartzTest implements Job { private static final Logger logger=LogManager.getLogger(QuartzTest.class); @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { //定时任务代码 } }

2启动定时任务,见示例代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//设定loadOnStartup=1,网站启动的时候立即执行 @WebServlet(value="/QuartzInitServlet", loadOnStartup=1) public class QuartzInitServlet extends HttpServlet { private static final Logger logger=LogManager.getLogger(QuartzInitServlet.class); @Override public void init() throws ServletException { super.init(); try{ //计划者 Scheduler scheduler=StdSchedulerFactory.getDefaultScheduler(); //任务的细节,具体执行的任务在QuartzTest类中 JobDetail job=JobBuilder.newJob(QuartzTest.class).build(); //定时出发条件 CronScheduleBuilder cronScheduleBuidler= CronScheduleBuilder.cronSchedule("5/10 51 14 * * ?").inTimeZone(TimeZone.getTimeZone("GMT+08:00"));//注意设置时区 CronTrigger trigger=TriggerBuilder.newTrigger().withSchedule(cronScheduleBuidler).build(); scheduler.scheduleJob(job,trigger); //启动 scheduler.start(); } catch(Throwable e){ logger.error("定时任务出错",e); } } }




最后

以上就是开放饼干最近收集整理的关于Quartz定时执行程序的全部内容,更多相关Quartz定时执行程序内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部