聊聊Quartz那点事儿

时间如白驹过隙,转瞬即逝,转眼间又到了一年的尾声。去年这个时候,还是一个刚刚走出学校,加入程序员队伍的一名小菜鸟程序员,这一年经历过了几个项目的洗礼,已经成长为了一名大菜鸟程序员。去年此时,正好有幸学习公司已经完成的支付网关的项目,对于一个初入行业的新人,项目中用到技术对我的吸引实在是太大了。今天就来聊聊这个项目中用到的定时任务框架Quartz。

##初识

官方文档对Quartz的描述:
Quartz是一个拥有丰富特性,开源的作业调度类库。小到独立的java应用程序,大到电子商务系统都可以将Quartz整合到其中。Quartz可以创建简单或者复杂的调度程序来执行作业,而作业作为java的组件来执行你希望实现的任何功能。

我的描述:Quartz就是在对的时间做对的事。

##再看
在Quartz官网下载了他的文档,有好几篇,看着也真是够够的了。其实我认为只需要了解三个核心的内容,就可以对Quartz进行使用了。三个核心内容是什么呢?作业,触发器,调度程序。下面我们依次聊聊这三项。

作业(Job)
作业就是你希望在对的时间做什么事。在Quartz中作业的定义很简单,只需要实现Job接口,并实现它的execute方法就可以定义你希望做的事情。
例如:
 public class HelloJob implements Job {
   
   

	Logger logger=LoggerFactory.getLogger(HelloJob.class);
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
   
   
		logger.info("Hello World:"+new Date());	
	}
}

关于作业的存储:在Quartz中对作业有多种的持久化操作。

  1. JobStore接口,它提供了多种多样的机制来存储作业。
  2. JDBCJobStore接口,它可以将作业通过JDBC存储到数据库中。
  3. RAMJobStore,通常我们使用的是RAMJobStore,将作业以及触发器存储在内存中。

触发器(Trigger)
触发器会在你希望的对的时间对作业进行触发。在Quartz中,已经定义好了一系列的builder类,它们可以被开发人员用来创建相应的触发器,作业,作业调度等对象。在创建触发器的时候,我们只需要使用TriggerBuilder即可创建Trigger即可。在实际应用中,比较常用的两种触发器是SimpleTrigger和CronTrigger。
  • SimpleTrigger:用于简单的触发以及重复执行作业任务。首先看一段代码:
@Test
public void test04(){
   
   
	logger.info("--------初始化调度程序-----");
	Scheduler scheduler=getScheduler();//通过工厂类SchedulerFactory创建Scheduler,详见后文
	logger.info("--------初始化调度程序完成-----");
	
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值