个人博客网:https://wushaopei.github.io/    (你想要这里多有)

1、 在 pom.xml 中 添加 Quartz 所需要 的 依赖

                <!--定时器 quartz-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>

注意:

quartz 只能基于 springboot 的 parent 2.0 以上 版本 才能使用过,低于2.0 的版本无法加载到 quartz 的pom依赖包

2、创建要执行的任务类:

TestTask1  与  TestTask2

package com.example.poiutis.quartzHandler;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean; import java.text.SimpleDateFormat;
import java.util.Date; /**
* @ClassName TestTask1
* @Description TODO
* @Author wushaopei
* @Date 2019/7/26 12:28
* @Version 1.0
*/
public class TestTask1 extends QuartzJobBean { @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("TestQuartz01----" + sdf.format(new Date()));
}
}

package com.example.poiutis.quartzHandler;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean; import java.text.SimpleDateFormat;
import java.util.Date; /**
* @ClassName TestTask2
* @Description TODO
* @Author wushaopei
* @Date 2019/7/26 12:28
* @Version 1.0
*/
public class TestTask2 extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("TestQuartz02----" + sdf.format(new Date()));
}
}

3、定时器(执行类):

package com.example.poiutis.quartzHandler;

import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; /**
* @ClassName QuartzConfig
* @Description TODO
* @Author wushaopei
* @Date 2019/7/26 12:28
* @Version 1.0
*/
@Configuration
public class QuartzConfig {
private static Logger logger = LoggerFactory.getLogger(QuartzConfig.class); // testTask1使用的固定间隔方式,testTask2使用的是cron表达式方式。 @Bean
public JobDetail testQuartz1() {
return JobBuilder.newJob(TestTask1.class).withIdentity("testTask1").storeDurably().build();
} @Bean
public Trigger testQuartzTrigger1() {
//5秒执行一次
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(5)
.repeatForever();
logger.info(System.currentTimeMillis()+"");
return TriggerBuilder.newTrigger().forJob(testQuartz1())
.withIdentity("testTask1")
.withSchedule(scheduleBuilder)
.build();
} @Bean
public JobDetail testQuartz2() {
return JobBuilder.newJob(TestTask2.class).withIdentity("testTask2").storeDurably().build();
} @Bean
public Trigger testQuartzTrigger2() {
//cron方式,每隔5秒执行一次
logger.info(System.currentTimeMillis()+"");
return TriggerBuilder.newTrigger().forJob(testQuartz2())
.withIdentity("testTask2")
.withSchedule(CronScheduleBuilder.cronSchedule("*/5 * * * * ?"))
.build();
} }

执行结果:

最新文章

  1. Unix&amp;Linux技术文章目录(2015-12-22更新)
  2. Mongodb常用命令介绍
  3. yii2 控制器、方法命名规范和访问路由
  4. IOS BLE蓝牙4.0
  5. ajax异步举例
  6. iOS Xcode注释的几种使用方法
  7. 没接触C++之前与学习了C++之后的思想转变
  8. 写代码的自动提示是怎么出来的...我的WebStorm中不能自动提示Bootstrap中的样式呢
  9. OCI的结果输出
  10. python自学笔记
  11. 解决md5不是windows平台FIPS验证的加密算法的一部分的怪异问题
  12. 我的第一个MyBatis
  13. ubuntu 配置apt-get源
  14. docker笔记(2)-----容器连接
  15. (转)用JS获取地址栏参数的方法(超级简单)
  16. 彻底搞懂Scrapy的中间件(二)
  17. 获取请求Url
  18. 3、iptables扩展及使用
  19. [C#源代码]使用SCPI指令对通信端口(RS232/USB/GPIB/LAN)进行仪器编程
  20. CentOS 7 上安装vim 解決 centos -bash: vim: command not found

热门文章

  1. 王颖奇 201771010129 第三周 Java基本程序设计总结
  2. Java Stream 流如何进行合并操作
  3. HBase Filter 过滤器之QualifierFilter详解
  4. elasticsearch kibana的安装部署与简单使用(二)
  5. 《ES6标准入门》读书笔记 第5章 - 正则增强
  6. static RMQ
  7. leeCode刷题 1078
  8. Spring Boot Admin实现服务健康预警
  9. Python 简明教程 --- 0,前言
  10. 容器技术之LXC WEB管理工具LXC WEB Panel