@Scheduled在Java中使用的一种定时任务调度注解。
@Scheduled(corn=" * * * * * * ")中的cron表达式定义了任务的执行时间,它包含了六个字段,分别表示了秒、分钟、小时、日期、月份和星期几。通过设置这些字段的值,你可以精确地控制任务在特定时间执行。例如," * * * * *"表示每秒都执行一次任务。
理解cron表达式的格式和使用方式对于定时任务调度至关重要。
在cron表达式中,包含了6个字段,分别代表了秒、分钟、小时、日期、月份、星期几。它们的取值范围以及特定的符号(如*、?等)都决定了任务的执行时间。举例来说,"0 * * * * *"代表每小时的0分执行一次任务,而"0 0 12 * * ?"代表每天中午12点执行任务。学习这些字段的用法和含义后,就可以精确地定义任务的执行时间了。
在cron表达式中,这些符号具有特定的含义:
- *:代表任意值。例如,小时字段使用 * 表示每小时都执行。
- / :用于指定时间的递增间隔。例如,分钟字段使用 */10 表示每隔10分钟执行一次。
- -:用于指定时间范围。例如,小时字段使用 1-3 表示在1点到3点期间执行。
- ? :用于天和星期字段,表示不指定值。通常用于解决天和星期字段互斥的情况。在大多数情况下,可以用 * 替代 ?。