Quartz用法小案例

Quartz:

  #### 实现任务调度:定时器,支持分布式
  核心:
  1、作业 Job
      循环执行的事情
 2、触发器 Trigger
     满足什么样的条件:间隔时间 固定时间
  3、调度器   Scheulder
      监听触发器是否满足,如果满足就执行Job

使用步骤

1、导入jar包
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
        </dependency>
2、定义作业

​ 创建类 实现接口Job

​ 重写方法:想做的事情

public class MyyJob implements Job {
    
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        System.out.println("重要的事情说三遍");
    }
}
3、编写代码-main

​ 定义触发器:明确什么时间做什么事情

public class Quartz_Main {
    public static void main(String[] args) {
        /**
         * 1、定义触发器   3秒执行一次 建造者模式
         * .repeatForever:加上此方法:程序不死,就一直执行
         */
        TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().
                withIntervalInSeconds(3).repeatForever()).build();
    }
}

	使用步骤:
	编写代码-main
		1、定义触发器
			明确什么时候
		2、创建作业详情
			JobDetail
		3、创建调度器
			Scheduler
			StdSchedulerFactory
		4、设置 定时作业 将作业和触发器绑定
			scheduleJob
		5、启动调度器
			start
			
			scheduler.start();  启动
			scheduler.shutdown(); 关闭
			scheduler.pauseJob(); 暂停
			scheduler.resumeJob(); 恢复
public class Quartz_Main {
    public static void main(String[] args) throws SchedulerException {
        /**
         * 1、定义触发器   3秒执行一次 建造者模式
         * .repeatForever:加上此方法:程序不死,就一直执行
         */
        Trigger trigger = TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().
                withIntervalInSeconds(3).repeatForever()).build();
        /**
         * 2、创建作业详情MyyJob
         */
        JobDetail jobDetail = JobBuilder.newJob(MyyJob.class).build();
        /**
         * 3、创建调度器   (抛出 SchedulerException 异常)
         */
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        /**
         * 4、设置 定时作业
         * jobDetail:第一个参数为作业详情对象
         * trigger:第二个参数是触发器对象
         */
        scheduler.scheduleJob(jobDetail,trigger);
        //5、启动调度器
        scheduler.start();
    }
}

在下面可以看到效果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值