Java定时任务Quartz一

1.概要

      Quartz是由OpenSymphony提供的强大的开源任务调度框架。官网地址:http://www.quartz-scheduler.org/,纯Java实现。

  • 强大的调度功能:很容易与Spring集成,提供调度运行环境的持久化机制,保存并恢复任务调度现场。即使系统因故障关闭,任务调度现场数据也不会丢失;
  • 灵活的应用方式:允许灵活的定义触发器的调度时间表,并可以对触发器和任务进行关联映射,提供了组件式的监听器、各种插件、线程池等功能,支持任务和调度的多种组合方式、支持调度数据的多种存储方式,支持分布式和集群操作;
  • 主要用到的设计模式:Builder模式、Factory模式、组件模式、链式写法;
  • 核心概念:调度器——负责定期、定时、定频率的去执行任务;任务——具体的业务逻辑;触发器——调度器调度任务的时间;
  • 重要组成:Job——接口且可以接收参数;JobDetail——Job的实现类和相关的静态信息;JobBuilder——定义或者创建JobDetail的实例;JobStore——用来保存Job数据;Trigger——描述触发Job执行时的时间触发规则;TriggerBuilder——定义或者创建触发器的实例;ThreadPool——线程池Job运行的基础设施;Scheduler——Quartz独立运行的容器;Calendar——一个Trigger可以和多个Calendar关联,以排除或者包含某些时间点;监听器——JobListener、TriggerListener、SchedulerLIstener监听对应的组件。

2.Quartz的基本使用

1.每两秒钟打印一次Hello World:

创建Job实现类HelloJob

package com.luna.timer.quarts;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job{
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		//打印当前执行时间
		Date startTime = new Date();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println("任务执行时间为:"+sf.format(startTime));
		System.out.println("Hello World");
	}
}

创建Job测试类HelloScheduler

package com.luna.timer.quarts;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class HelloScheduler {
	public static void main(Stri
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

抽离的心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值