corn 表达式为: @Scheduled(cron = "* * * 20 * ? 2021")

运行代码提示报错:

// Cron 表达式必须包含 6 个字段
Cron expression must consist of 6 fields (found 7 in "* * * 20 * ? 2021")

corn表达式不是有年吗?出现这样的报错我有些怀疑,是其他文章描述有错误还是后来官方更新为了6个字段。

求大佬留言解惑!十分感谢!

运行代码Demo

1、依赖

<!-- SpringBoot 控制版本:2.3.2.RELEASE -->
<SpringBoot>2.3.2.RELEASE</SpringBoot>

<!-- SpringBoot 任务调度 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<!-- SpringBoot web启动器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2、代码 quartzConfig

// 配置注解
@Configuration
// 启动定时调度
@EnableScheduling
public class quartzConfig {

  // 定时调度表达式
  @Scheduled(cron = "* * * 20 * ? 2021")
  public void run(){
    System.out.println(LocalDateTime.now());
  }
}

3、启动类

@SpringBootApplication
public class quartzApplication {

  public static void main(String[] args) {
    SpringApplication.run(quartzApplication.class , args) ;
  }
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐