spring boot 集成 Quartz
来源:互联网 发布:博客园 网络异常 编辑:程序博客网 时间:2024/05/29 07:22
第一步、导入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> </parent> <properties> <!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 --> <java.version>1.8</java.version> <!--指定使用的编码字符集--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 该依赖必加,里面有sping对schedule的支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!-- quartz依赖 --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> </dependencies>第二步、新建需要被监控的HelloJob类
package com.mofa.job;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import java.util.Date;public class HelloJob implements Job{ public void execute(JobExecutionContext context) throws JobExecutionException { // 执行响应的任务. System.out.println("HelloJob.execute,"+new Date()); }}第三步、新建监听类ApplicationContextListerner
package com.mofa;import com.mofa.job.HelloJob;import org.quartz.*;import org.quartz.impl.StdSchedulerFactory;import org.springframework.stereotype.Component;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;@Componentpublic class ApplicationContextListener implements ServletContextListener { private Scheduler scheduler = null; public void contextInitialized(ServletContextEvent arg0) { try { /* *在 Quartz 中, scheduler 由 scheduler 工厂创建:DirectSchedulerFactory 或者 StdSchedulerFactory。 * 第二种工厂 StdSchedulerFactory 使用较多, *因为 DirectSchedulerFactory 使用起来不够方便,需要作许多详细的手工编码设置。 */ // 获取Scheduler实例 scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); //具体任务. JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("job1","group1").build(); //触发时间点. (每5秒执行1次.) SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever(); Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1").startNow().withSchedule(simpleScheduleBuilder).build(); // 交由Scheduler安排触发 scheduler.scheduleJob(jobDetail,trigger); } catch (SchedulerException e) { e.printStackTrace(); } } public void contextDestroyed(ServletContextEvent arg0) { try { //关闭定时任务调度器. scheduler.shutdown(); } catch (SchedulerException e) { e.printStackTrace(); } }}第四步package com.mofa;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * Created by yangjingmin on 2017/11/15. */@SpringBootApplicationpublic class App { public static void main(String[] args) { SpringApplication.run(App.class, args); }}
阅读全文
1 0
- spring-boot集成Quartz
- spring boot 集成 Quartz
- Spring Boot与Quartz集成
- spring boot 集成quartz集群
- Spring Boot集成Quartz-动态任务管理
- spring boot 集成 quartz,实现动态控制
- spring boot整合quartz
- Spring 3 - Quartz - 集成
- Spring集成Quartz
- spring 3.0集成 quartz
- spring集成quartz
- Spring集成Quartz
- 集成spring和quartz
- Spring集成Quartz实战
- spring集成quartz
- spring集成 quartz
- Spring集成quartz
- Quartz集成Spring框架
- 初识Shell
- 使用 C++ 库 jsoncpp 处理 JSON 数据
- Word2003入门动画教程42:撤消、重复、恢复的操作方法
- 微信小程序如何获取手机地址定位
- 设计模式-(命令模式、适配器模式、外观模式)
- spring boot 集成 Quartz
- python 文件操作总结
- 利用Python进行数据分析(14) pandas基础: 数据转换
- Java中Synchronized的用法
- 自定义spring-boot-starter(IDEA开发)
- C#判断字符串是否base64,及base64转换为Bitmap
- 截面校对
- 多进程方式抓取基金网站内容
- 十大理由够不够!物联网将改变人们的工作方式