我试图在本地运行具有Spring cron表达式的服务器。对于第一天,cron工作正常,但从下一个cron表达式没有被触发。
@Component公共类MailScheduler {
@Scheduled(cron = "0 0 9 ? * *")
public void sendMail(){
System.out.println("*****************Mail Started");
}
}我在主课上增加了@EnableScheduling。第一天一切看起来都很好,但从第二天开始就不起作用了。如果我在特定的一天重新启动服务器,cron就会被触发,但是从第二天开始就不会被触发。第二天日志:
2021-05-18 12:00:00.012 INFO 20520 - nio-9000-exec-2 o.c.c.c.Tomcat.localhost./:初始化Spring DispatcherServlet 'dispatcherServlet‘2021-05-18 12:00:00.012 INFO 20520 - nio-9000-exec-2 o.s.web.servlet.DispatcherServlet :初始化Servlet 'dispatcherServlet’2021-05-18 12:00:00.014 INFO 20520 - nio-9000-exec-2 o.s.web.servlet.DispatcherServleto.s.web.servlet.DispatcherServlet :完成初始化在2 ms 2021-05-18 14:06:39.148警告20520 -- l-1管家com.zaxxer.hikari.pool.HikariPool : HikariPool-1 -线程饥饿或时钟跳跃检测到(管家delta=17m20s769ms350µs701ns)。2021-05-18 21:19:58.233警告20520 - l-1管家com.zaxxer.hikari.pool.HikariPool : HikariPool-1 -发现线程饥饿或时钟跳跃(管家delta=31m42s577ms997µs900ns)。2021-05-19 07:20:11.126警告20520 - l-1管家com.zaxxer.hikari.pool.HikariPool : HikariPool-1 -发现线程饥饿或时钟跳跃(管家delta=7h11m45s224ms352µs500ns)。2021-05-19 08:17:11.121警告20520 - l-1管家com.zaxxer.hikari.pool.HikariPool : HikariPool-1 -检测到线程饥饿或时钟跳跃(管家delta=5m29s194ms358µs100ns)
发布于 2021-05-19 04:16:16
嗨,请查一下例子
@Scheduled(cron = "0 0 0 * * *",zone = "Indian/Maldives")发布于 2022-03-18 02:41:43
您的计划线程可能会被某个消耗时间的服务挂起或阻塞。首先,您应该找到阻塞的代码,并为计划配置一个线程池。
https://stackoverflow.com/questions/67596685
复制相似问题