quartz的基本使用

quartz

主要分为三个部分

1.任务Job
需要执行的具体工作

2.任务触发器Trigger
在特定的事件触发任务的执行

3.任务调度器Scheduler
任务的实际执行者,负责粘合任务和触发器
在这里插入图片描述

具体操作如下:

创建maven项目:
在这里插入图片描述
导入所依赖的jar包:
pom.xml

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

写具体的任务Job:

//实现org.quartz包下Jop的接口
public class RemindJob implements Job {

    /**
     * Jop接口中只有一个execute方法,在实现类中实现该方法以执行具体的任务
     * @param jobExecutionContext 通过该参数能获取调度上下文的各种信息
     * @throws JobExecutionException
     */
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        // 具体的业务操作
        //举例
        Integer i = null;
        i+=1;
        System.out.println("我正在执行!"+i);
    }
}

创建jop任务

//创建jop任务
//通过反射对ReminJop类实例化,用JobDetail进行装载
//JobDetail的第一个参数:名称;第二个参数:所属的组;第三个参数:具体的对象
JobDetail jop=new JobDetail("myJop","A",RemindJob.class);

触发器

//创建触发器trigger。SimpleTrigger是trigger的子类
SimpleTrigger trigger=new SimpleTrigger("myTrigger",SimpleTrigger.REPEAT_INDEFINITELY,3000);
//开始执行事件
trigger.setStartTime(new Date(System.currentTimeMillis()+1000));

3.任务调度器Scheduler

//创建一个调度器
//获取Scheduler工厂SchedulerFactory
SchedulerFactory factory = new StdSchedulerFactory();
//获取调度器
Scheduler scheduler=factory.getScheduler();
//粘合任务和调度器
scheduler.scheduleJob(jop,trigger);
//启动运行
scheduler.start();
//关闭
scheduler.shutdown();

CronTrigger

是Trigger的子类,通常我们使用CronTrigger去设置触发器调度时间。
在这里插入图片描述

//创建CronTrigger触发器
CronTrigger cronTrigger=new CronTrigger("myCronTrigger","B","0 33 22 ? * *");

Cron表达式

Cron表达式是由6~7个由空格分隔的时间元素组成,第7个元素是可选的。
在这里插入图片描述
特殊字符:
1." * " :表示每个值,可用于所有字段;
2." ? “:该字段仅用于”月份中的那一天“和”星期几“,表示不指定值;
3.” - " :中划线,表示一个范围;
4." , " :使用逗号间隔数据,表示一个列表;
5." / " :通常表示x/y, x 为起始值,y 表示值得增量
注意:第4位和第6位,不能同时为” ?“,不能同时为 ” * “。

spring整合quartz

<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.3</version>
</dependency>

直接使用该注解即可

@Scheduled(cron = "0 0/10 15 * * ?")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值