Java Spring定时任务@Scheduled注解fixedDelay参数格式及示例含义查询
Spring @Scheduled注解fixedDelay参数说明
1. fixedDelay参数的具体格式
fixedDelay是Spring @Scheduled 注解的内置参数,要求传入long类型的毫秒数,支持两种写法:
- 直接写最终毫秒数值,比如
fixedDelay = 432000000 - 写Java数值运算表达式,Spring会自动计算最终结果,用乘法按时间单位换算的写法可读性更高。
fixedDelay的核心逻辑是统计「上一次任务执行结束时刻」到「下一次任务执行开始时刻」的间隔,只要配置了这个参数,定时任务永远不会并行执行。
2. 给出配置的参数作用解释
你贴出的配置:
@Scheduled(initialDelay = 1000 * 30, fixedDelay = 1000 * 3600 * 24 * 5)
其中fixedDelay = 1000 * 3600 * 24 * 5的计算逻辑为:1000毫秒 = 1秒、3600秒 = 1小时、24小时 = 1天,乘法运算后总间隔为5天,对应毫秒值为432000000。
它的实际作用是:每次定时任务执行完成后,间隔5天再触发下一次任务执行。
额外补充:同配置中的initialDelay = 1000 * 30代表项目启动完成后,第一次触发定时任务前的延迟时间为30秒,不影响后续fixedDelay的间隔计算逻辑。
内容的提问来源于stack exchange,提问作者Fatha Mysore
相关产品推荐
相关产品推荐

