Quartz2.2.1 学习笔记(一)简单例子

J2EE中用的最多的任务调度框架应该就是Quartz了,最近比较清闲,就来详细了解一下Quartz;用这个博客来记录下学习心得,如有错误之处,还请各位大神指点。

1.关键接口

  • Scheduler,任务调度的API;它可以用来启动或者终止任务等。
  • Job,具体的任务接口;通过实现它,来让任务调度执行具体的任务。
  • JobDetail ,用来定义Job的实例。
  • Trigger ,触发器用来定义给定的Job应该如何执行。
  • JobBuilder ,用来定义/构建Jobdetail实例。
  • TriggerBuilder ,用来定义/构建Trigger实例。

2.简单例子

下面是一个简单的例子,创建一个简单的任务调度。
创建一个Job,名为HelloJob:

public class HelloJob implements Job{

    @Override
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        System.out.println("hello job, "+ DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
    }

}

实现Job接口中的execute方法,这个方法中是我们需要任务调度执行的具体内容,这里我们只简单打印“hello job”字符串和当前时间。

然后我们就可以编写一个测试类,来执行Job。
首先,创建JobDetail:

JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
                .withIdentity("helloJob", "group1")
                .build();

然后,创建Trigger:

Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("myTrigger","group1")
                .startNow()
                .withSchedule(
                    SimpleScheduleBuilder.simpleSchedule()
                    //每5s运行一次
                    .withIntervalInSeconds(5)
                    //重复运行3次
                    .withRepeatCount(3)
                ).build();

最后,获取Scheduler,并启动任务:

SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
//添加job,以及其关联的trigger
scheduler.scheduleJob(jobDetail, trigger);
//启动job
scheduler.start();

运行结果,如下图:
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/u/2302821/blog/483351

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值