Sping Boot 定时任务 修改系统时间 定时任务失效!!!
来源:互联网 发布:二次元人物制作软件 编辑:程序博客网 时间:2024/05/22 00:53
Sping Boot 定时任务 说到底也就是说到某个时间点会执行某个功能的一个任务 所以说当你设置了要执行的时间 开启服务 当到了时间点后就会去执行这项功能
假设 如果我要设置每天凌晨两点执行删除一个月前的Log 日志表的数据 然后修改系统时间 为凌晨一点58 在开启服务 到两点的时候就会去执行了 这是可以的
但是现在问题就是又 把系统时间修改到明天凌晨时间一点59分 按道理来说到两点后也会执行 因为设置的是每天凌晨两点执行 结果没有
问题就是 摘一段百度上的说法 就是
Timer类的调度是基于绝对的时间的,而不是相对的时间,因此Timer类对系统时钟的变化是敏感的,举个例子,加入你希望任务1每个10秒执行一次,某个时刻,你将系统时间提前了6秒,那么任务1就会在4秒后执行,而不是10秒后。而在 ScheduledThreadPoolExecutor,任务的调度是基于相对时间的,原因是它在任务的内部 存储了该任务距离下次调度还需要的时间(使用的是基于 System#nanoTime实现的相对时间 ,不会因为系统时间改变而改变,如距离下次执行还有10秒,不会因为将系统时间调前6秒而变成4秒后执行)。
总结就是 当你开启服务后 修改服务系统时间 定时任务没启动 因为它读取的时间是启动服务之前的时间
解决: 在重启一遍服务
阅读全文
0 0
- Sping Boot 定时任务 修改系统时间 定时任务失效!!!
- sping定时任务
- Sping配置定时任务
- Sping配置定时任务
- Sping项目定时任务实现
- 解决修改系统时间后Spring 定时任务不执行
- spring boot 定时任务
- spring boot 定时任务
- spring boot定时任务
- Spring boot 定时任务
- Spring Boot 定时任务
- oracle修改定时任务下次启动时间
- (七)sping之定时任务Quartz
- sping quartz定时任务的使用
- 定时任务 时间匹配
- 定时任务时间表达式
- 定时任务时间表达式
- 定时任务时间设置
- Oracle 索引的创建,删除,修改
- Python学习小笔记with语句
- 逆向微信------给微信加上控件之骰子作弊
- 图像检索
- 挑棍子
- Sping Boot 定时任务 修改系统时间 定时任务失效!!!
- -webkit-border-radius和-moz-border-radius
- 机器学习(8)决策树
- 2017 前端大事件和趋势回顾,2018 何去何从?
- python3+opencv
- 多线程 阻塞带返回值
- Android内存泄漏问题排查
- C++学习 多态&抽象类
- 使用 docker 安装 OpenVAS 漏洞扫描软件