一:前言
- Springboot-Scheduler 使用灵活、便捷;
- Springboot-Scheduler 简化很多配置,参数可自定义配置化
二:实战
- Springboot-Scheduler 实战案例
-
文件引入相关依懒
<dependency>
<groupId></groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
主要是依懒如下两个jar:
-beans-5.1.
-context-5.1.
2.新建Scheduler 服务调度模块
import ;
import ;
/**
* Message 模块调度
* 1.所有Message 消息定时任务封装此类中
* 2.此类只做统一yml封装及调用其他
* 3.不做任务业务逻辑处理,只做定时任务转发请求
*/
public class ApiMessageModuleScheduler {
/**
* 调用Message 模块 短信接口地址
*/
@Value("${}")
private String smsPath;
/**
* 模拟短信标志
* 通过此标志 HttpUtils 是否调度
* 配置化
*/
@Value("${}")
private String smsSign;
/**
* 调用Message 模块 支付接口地址
*/
@Value("${}")
private String payPath;
/**
* 模拟支付标志
* 通过此标志 HttpUtils 是否调度
* 配置化
*/
@Value("${}")
private String paysign;
/**
* cron 定时任务触发调度的sms方法
*/
@Scheduled(cron = "${}")
public void messageSmsRequest() {
(, );
}
/**
* cron 定时任务触发调度的Pay方法
*/
@Scheduled(cron = "${}")
public void messagePayRequest() {
(, );
}
public void sendHttp(String path, String sign) {
(path, sign);
}
文件配置Scheduler 信息
scheduler:
messagemodule:
messagesms:
path: /messageSms
cron: 0 */1 * * * ?
flag: 1 # 1-开启,0关闭
messagepay:
path: /messagePay
cron: 0 */1 * * * ?
flag: 1 # 1-开启,0关闭
启动新增配置
/**
* Scheduler 启动类
*/
@SpringBootApplication
@EnableScheduling
public class SchedulerApplication {
public static void main(String[] args) {
(, args);
}
}
三:总结
- 以上示例是否非常简单,但是在使用过程需要注意如下
- @Value 中属性是与yml文件配置密切相关
- @Scheduled cron 定时任务触发调度的sms方法
- 表示调度模块
- messagesms 定时任务服务(短信)
- smsPath 属性
- smsSign 属性
- messagepay 定时任务服务(支付)
- payPath 属性
- paySign 属性