Quartz定时器的应用
时间:2020-04-13
本文章向大家介绍Quartz定时器的应用,主要包括Quartz定时器的应用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spring中使用Quartz的3种方法(MethodInvokingJobDetailFactoryBean,implements Job,extends QuartzJobBean)
后两种方法比较简单易懂,我们介绍第一种MethodInvokingJobDetailFactoryBean的使用
一般spring中使用MethodInvokingJobDetailFactoryBean是配置在xml中的,这里介绍一下在springcloud中的简单实用
1、首先,在pom.xml中添加Quartz的依赖
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> </dependency>
2、添加一个被调度的实现类,里面有需要执行的定时方法
@Component
public class QuartzTest {
public void test(){
String s = "my name is zhongguo";
Date date = new Date();
System.out.println("定时任务--每5秒启动一次,现在时间"+date +"输出:"+s);
}
}
3、添加Quartz定时配置
@Configuration public class QuartzConfig { private String time = "*/5 * * * * ? "; //配置定时任务 @Bean(name = "quartzTestJobDetail") MethodInvokingJobDetailFactoryBean configTask(QuartzTest quartzTest){ MethodInvokingJobDetailFactoryBean jobDetailFactoryBean = new MethodInvokingJobDetailFactoryBean(); jobDetailFactoryBean.setConcurrent(false);// 是否并发执行 jobDetailFactoryBean.setTargetObject(quartzTest);// 为需要执行的实体类对应的对象 jobDetailFactoryBean.setTargetMethod("test"); // 需要执行的方法 return jobDetailFactoryBean; } //配置触发器 @Bean(name = "quartzTestJobTrigger") CronTriggerFactoryBean configTrigger(@Qualifier("quartzTestJobDetail") MethodInvokingJobDetailFactoryBean quartzTestJobDetail){ CronTriggerFactoryBean triggerFactoryBean = new CronTriggerFactoryBean(); triggerFactoryBean.setJobDetail(quartzTestJobDetail.getObject()); triggerFactoryBean.setCronExpression(time);// cron表达式 return triggerFactoryBean; } @Bean(name = "quartzTestTrigger") CronTrigger quartzTestTrigger(@Qualifier("quartzTestJobTrigger")CronTriggerFactoryBean quartzTestTrigger ){ return quartzTestTrigger.getObject(); } //配置Scheduler @Bean(name = "scheduler") SchedulerFactoryBean schedulerFactory( @Qualifier("quartzTestTrigger") Trigger quartzTestTrigger){ SchedulerFactoryBean bean = new SchedulerFactoryBean(); bean.setStartupDelay(1);// 延时启动,应用启动1秒后 bean.setAutoStartup(true); bean.setTriggers(quartzTestTrigger);// 注册触发器 return bean; } }
4、启动springcloud项目测试,结果显示:定时任务正确✔
原文地址:https://www.cnblogs.com/jing5464/p/12692078.html
- Java杂项
- android SurfaceView绘制实现原理解析
- AbstractQueuedSynchronizer实现示例
- PyQt的一个UI单元测试框架思路
- Spring Cloud Zuul实现动态路由
- android应用资源预编译,编译和打包全解析
- Python优雅地dumps非标准类型
- html5标签基础
- 彻底搞懂Gradle、Gradle Wrapper与Android Plugin for Gradle的区别和联系
- 社会化分享
- Android真机安装sqlite3的方法
- 二次元世界的Linux—东方Project之B站掠影
- 带三方登录(qq,微信,微博)
- Android Studio移动鼠标显示悬浮提示的设置方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 参数绑定
- ndn挖坑记(一)
- Python之QQ邮箱告警脚本
- 访问令牌JWT
- Java集成JWT
- Computer Graphics note(3):视口变换&光栅化
- Mac安装mysql
- 剑指Offer题解
- nginx 常见问题记录
- ReturnSingleDatabase为True报错的解决办法
- 【Vim】vim配置的选择
- 关于HashMap的一些理解
- SpringBoot2.x系列教程(六十一)Spring Boot集成FastDFS实现文件上传
- 解决对接华为kafka 进行Kerberos认证时的sun.security.krb5.KrbException
- Newbe.Claptrap 框架如何实现多级生命周期控制?