Issue
We have a requirement of running a job on 1st of every month (time: 00:00:00 AM) exactly.
We are using Spring framework's ScheduledTimerTask to schedule jobs using delay and period properties. This class doesn't support running a job on specific date.
Can somebody suggest, how we can solve that problem using Spring and Java technology?
Solution
If you don't have to run this job on a single node in a cluster you can use Spring Task, see: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html
@Scheduled(cron="0 0 0 1 1/1 *")
public void doSomething() {
// something that should execute on 1st day every month @ 00:00
}
For generating cron expressions try cronmaker.com
Please be aware that if you use this code in a cluster it will run on all nodes.
Answered By - rgrebski