Spring cron expression for every after 30 minutes
Solution 1:
According to the Quartz-Scheduler Tutorial
It should be value="0 0/30 * * * ?"
The field order of the cronExpression is
- Seconds
- Minutes
- Hours
- Day-of-Month
- Month
- Day-of-Week
- Year (optional field)
Ensure you have at least 6 parameters or you will get an error (year is optional).
Solution 2:
Graphically, the cron syntax for Quarz is (source):
+-------------------- second (0 - 59)
| +----------------- minute (0 - 59)
| | +-------------- hour (0 - 23)
| | | +----------- day of month (1 - 31)
| | | | +-------- month (1 - 12)
| | | | | +----- day of week (0 - 6) (Sunday=0 or 7)
| | | | | | +-- year [optional]
| | | | | | |
* * * * * * * command to be executed
So if you want to run a command every 30 minutes you can say either of these:
0 0/30 * * * * ?
0 0,30 * * * * ?
You can check crontab expressions using either of these:
- crontab.guru — (disclaimer: I am not related to that page at all, only that I find it very useful). This page uses UNIX style of cron that does not have seconds in it, while Spring does as the first field.
- Cron Expression Generator & Explainer - Quartz — cron formatter, allowing seconds also.
Solution 3:
<property name="cronExpression" value="0 0/30 * * * ?" />