Spring boot Cron is not working from the second day

Viewed 752

I am trying to run the server locally which has Spring boot cron expression. For the first day cron is working fine but from the next cron expression is not getting triggered.

@Component public class MailScheduler {

  @Scheduled(cron = "0 0 9 ? * *")
  public void sendMail(){
    System.out.println("*****************Mail Started");
  }
}

I have added @EnableScheduling in main class. First day everything looks good but from second it is not working. If I restart the server on that particular day cron is getting triggered but from second day not getting triggered. Second day Logs:

2021-05-18 12:00:00.012 INFO 20520 --- [nio-9000-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2021-05-18 12:00:00.012 INFO 20520 --- [nio-9000-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2021-05-18 12:00:00.014 INFO 20520 --- [nio-9000-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms 2021-05-18 14:06:39.148 WARN 20520 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=17m20s769ms350µs701ns). 2021-05-18 21:19:58.233 WARN 20520 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=31m42s577ms997µs900ns). 2021-05-19 07:20:11.126 WARN 20520 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=7h11m45s224ms352µs500ns). 2021-05-19 08:17:11.121 WARN 20520 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=5m29s194ms358µs100ns).

2 Answers

Hi Please check example

 @Scheduled(cron = "0 0 0 * * *",zone = "Indian/Maldives")

Your schedule thread may be hanged or blocked by some consuming-time service. You should first find the blocked code with proper timeout and config a thread pool for the schedule.

Related