You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@Scheduled注解时Cron表达式报错的问题求助

问题原因与解决方法

报错原因分析

  1. 第一个错误(字段数量不符):
    Spring的@Scheduled注解使用6字段标准Cron格式(秒 分 时 日 月 周),你生成的表达式多了一个末尾的*(多余的年份字段),导致总字段数变成7个,不符合默认解析规则。

  2. 第二个错误(字段规则冲突+格式仍错误):
    去掉?后仍保留7个字段,同时违反Spring Cron核心规则:日和周字段不能同时指定具体匹配规则——你用*指定所有日期,又用MON-FRI指定周范围,两者冲突;再加上多余的年份字段,最终导致解析失败。

解决方法

使用符合Spring规范的6字段Cron表达式,同时确保日和周字段二选一用?忽略,正确代码如下:

@Scheduled(cron = "0 0 8-20 ? * MON-FRI")
public void deleteExpiredSlots() {
    //my code here
}

表达式说明:

  • 0:秒位,指定整分执行
  • 0:分位,指定整时执行
  • 8-20:时位,指定8点到20点的每个整点
  • ?:日位,忽略日期匹配(因已通过周字段指定执行范围)
  • *:月位,匹配所有月份
  • MON-FRI:周位,匹配周一到周五

内容的提问来源于stack exchange,提问作者asdrubalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 11:50:31