定时器注解 @Scheduled 使用
2024-09-01 20:00:41
@Component
@Slf4j
//配置文件注入注解
@PropertySource("classpath:/**.properties")
public class TimerController {
@Value("${SEND_TEL}")
private String tel;
@Value("${scheduled.enable}") //配置文件中定时任务开关(true 或 false)
private String scheduledEnable;
public void timerTask(){ try {
//如有多个值且需要一个一个取出再使用则需转换遍历
/**取出属性文件中的电话号并加入list**/
String [] c=tel.split(",");
List<String> list = new ArrayList<>();
for(int i=0;i<c.length;i++){
list.add(c[i]);
// System.out.println(list.get(i));
SendSmsResponse response = SmsUtils.sendSms(list.get(i),9999);
}
} catch (ClientException e) {
e.printStackTrace();
}
}
//* * 8,10,14,16 * * ?
/**每天8、10、14、16四个时间点执行任务**/
//${CRON} CRON为配置文件中的key CRON=0 0 8,10,14,16 * * ?
@Scheduled(cron="${CRON}")
public void task(){
//判断定时任务开关属性(true:开启 false:关闭)
if(!Boolean.parseBoolean(scheduledEnable)){
log.info("定时器已关闭!");
return;
}
timerTask();
log.info("定时器已开启!");
}
}
最新文章
- Web APi之认证(Authentication)及授权(Authorization)【一】(十二)
- 创建【哆啦A梦】风格字体
- flex 导出Excel功能实现
- Linux下命令行安装WebLogic 10.3.6
- web页面开发笔记(不断更新)
- tomcat server.xml配置文件 解析
- Note | Javascript权威指南[第六版] 第1章:Javascript概述
- 使用vue-cli脚手架安装的eslint 容易犯错的地方
- 12 款最好的 Bootstrap 设计工具
- Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface &;amp;&;amp; IGD OpRegion PROTOCOL
- Unity NGUI Tween动画回调不执行问题
- HTML5新特性之WebRTC[转]
- JAVA课堂测试之查找字母和单词出现次数、频率
- chrome离线包出现的小问题
- springMVC整理05--数据校验、格式化 &; 其他注解 &; 数据绑定流程
- laravel 多检索条件列表查询
- [C++]Qt 如何处理密集型耗时的事情(频繁调用QApplication::processEvents)
- 2021工厂取消2094仓位需求,不参与FP分析
- BZOJ4358: permu(带撤销并查集 不删除莫队)
- Python奇思妙想(胡思乱想)