定时器(Quartz)简单实例

来源:互联网 发布:哪个火车票比较好知乎 编辑:程序博客网 时间:2024/05/21 15:50

参考:

https://my.oschina.net/Barudisshu/blog/294272

http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-06.html

概念性的内容请查看上面链接,我这里不再赘述。只是实现一个小例子。

1、引入jar包

 

<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version></dependency>


 

2、写JOB类
package quartz;import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class TestJob implements Job { SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      Date d = new Date();      String returnstr = DateFormat.format(d);          public void execute(JobExecutionContext arg0) throws JobExecutionException {          // TODO Auto-generated method stub       System.out.println("Hello World! - " + new Date());      }  }


3、启动类

package quartz;import static org.quartz.CronScheduleBuilder.cronSchedule;import static org.quartz.TriggerBuilder.newTrigger;import java.text.ParseException;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SchedulerFactory;import org.quartz.Trigger;import org.quartz.impl.StdSchedulerFactory;/** * Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger。 * 具体用法参考参考文章 * */public class QuartzTest {    public static void main(String args[]) throws SchedulerException, ParseException {        JobDetail jobDetail= JobBuilder.newJob(TestJob.class)                .withIdentity("testJob_1","group_1")                .build();//SimpleTrigger//        Trigger trigger= TriggerBuilder//                .newTrigger()//                .withIdentity("trigger_1","group_1")//                .withSchedule(SimpleScheduleBuilder.simpleSchedule()//                        .withIntervalInSeconds(10) //时间间隔                        //                        .withRepeatCount(5)        //重复次数(将执行6次)//                        )//                .build();        //CronTrigger        Trigger trigger = newTrigger()            .withIdentity("trigger_1", "group1")            .withSchedule(cronSchedule("0/3 0/2 8-17 * * ?"))//            .forJob("testJob_1", "group1")            .build();        SchedulerFactory sf = new StdSchedulerFactory();        Scheduler sched = sf.getScheduler();        sched.scheduleJob(jobDetail,trigger);        sched.start();    }}


 

0 0
原创粉丝点击