我有一个Spring 4.3(和Spring Boot 1.5)@Scheduled(cron = "0 30 1 * * ?")
工作(以及其他一些工作),但它始终在9±1h左右开始。系统上的时钟是正确的,我确认它确实计划在正确的时间启动它。
我相信问题可能是Spring默认在单个线程上运行作业,并且先前的作业花费的时间太长,因此该作业必须等待。我已尝试按照https://stackoverflow.com/a/47146622/204205中的建议配置一个带有线程池的TaskScheduler
,但无济于事(我尝试使用TaskScheduler
和ThreadPoolTaskScheduler
作为返回类型=> bean名称)。
我试图阅读Spring代码并在运行时查看其状态,但是它太复杂了,我不知道要看什么。