Quartz的学习
程序员文章站
2022-05-07 23:08:10
...
1、Quartz 简介
a、Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
b、主页:http://www.quartz-scheduler.org/
现在写个简单的例子
package com.quartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class QuartzTest implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println("Quartz is Test");
}
}
package com.quartz;
import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
public class QuartzTest1 {
public void run() throws SchedulerException {
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
Scheduler scheduler=schedulerFactory.getScheduler();
JobDetail jobDetail=new JobDetail("job1", "group1", QuartzTest.class);
SimpleTrigger simpleTrigger=new SimpleTrigger("trigger1", "group1", new Date(), null, 10, 1500L);
scheduler.scheduleJob(jobDetail,simpleTrigger);
scheduler.start();
}
public static void main(String[] args) throws SchedulerException {
QuartzTest1 quartzTest1=new QuartzTest1();
quartzTest1.run();
}
}
需要的jar包:commons-logging-1.0.4.jar,quartz-all-1.6.0.jar,jta.jar。
参考了(xiaoyuqi00 的文章)。如果想知道更多的可参考收藏。
下面可以使用jdk的Timer这个类也可以实现类似的功能,来让程序在指定的时间去执行指定的功能。
public void init()
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
Date date = calendar.getTime();
//date是在指定的时间(即每天23点59分59秒)去执行该任务。第三个参数为间隔多长时间后再次执行指定任务
timer.schedule(new Task(rasManagerService, rasService, configService),
date,
1000 * 60 * 60 * 24);
}
class Task extends TimerTask
Task重写里面的run()方法,进行你自己的业务逻辑的处理。
上一篇: pypi同步并搭建私有源
下一篇: Python爬虫框架Scrapy安装