当前位置: 首页 > news >正文

[Spring Boot]定时任务因系统时间修改之后无法执行

问题描述

当Spring Boot启动时,当前时间为2024-01-01 00:00:00。
此时你创建了任务:
每10秒钟触发一次定时任务

@Scheduled(cron = "0/10 * * * * ? ")
public void scheduledTask() {
}

此时你手动修改了系统时间,修改为2023-12-01 12:00:00。
这是,就会出现问题。。。
系统时间虽然改变,但是Java调度器任然认为,启动的时间为2024-01-01 00:00:00。
而此时10秒钟后执行任务,也就是下次的调度任务时间为2024-01-01 00:00:10。调度任务时间不会因为系统时间的修改而发生变化。

解决方式

对于固定时间间隔的我们应更换注解方式:
使用如下方式,只做时间间隔的判断,就不会因为系统时间而影响了。

@Scheduled(fixedDelay = 10000L)

放弃使用原先的cron表达式的定时任务

@Scheduled(cron = "0/10 * * * * ? ")
public void scheduledTask() {
}
http://www.lryc.cn/news/400011.html

相关文章:

  • 【棋盘上的战舰】python刷题记录
  • NoSQL 之Redis集群
  • ES13的4个改革性新特性
  • Flutter EasyRefresh:介绍与使用指南
  • 链表的回文结构(链表的中间节点+反转链表)
  • 汇编学习基础知识【记录】
  • 【持续集成_06课_Jenkins高级pipeline应用】
  • taro小程序terser-webpack-plugin插件不生效(vue2版本)
  • games103作业2(未完)
  • 避免 WebSocket 连接被拒绝
  • shell中关于数组的使用
  • python:绘制一元三次函数的曲线
  • SAP PP学习笔记26 - User Status(用户状态)的实例,订单分割中的重要概念 成本收集器,Confirmation(报工)的概述
  • ctfshow-web入门-php特性(web104-web108)
  • python之集合相关
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十一)-无人机服务可用性用例需求
  • 【Linux 配置静态IP】Ubuntu20.04
  • C++入门基础(2)
  • 芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
  • Java程序打印日志
  • 深入理解C++ 中的可调⽤对象
  • 汇编程序调用 C 程序详解
  • 代码随想三刷图论篇1
  • Windows 快捷键汇总
  • 微服务有哪些组件?
  • camera-qsc-crosstalk校准数据XTALK回写
  • 混合贪心算法求解地铁线路调度
  • vue项目:关闭页面,删除本地登录信息
  • 获奖案例回顾|基于卫星遥感和无人机的水稻全流程风险减量项目
  • 全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)