Spring Boot定时任务@Scheduled
Spring Boot定时任务@Scheduled
chenkuifang 发表于3个月前
Spring Boot定时任务@Scheduled
  • 发表于 3个月前
  • 阅读 5
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

在SpringBoot中使用@Scheduled创建任务调度,使控制台每5秒输出一次当前时间。

1.首先在http://start.spring.io中创建一个项目

2.初始Springboot项目创建好后,一个任务调度类ScheduledTasks。

@Component
public class ScheduledTasks {
    private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
    private final static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)//每5000毫秒输出一次
    public void printCurrentTime() {
        log.info("现在的时间是:", sdf.format(new Date()));
    }
}

@Scheduled注解定义了一个特定的方法何时运行。

3.在Application类中,需要添加@EnableScheduling来确认后台任务执行器的创建,它是任务的执行者。

@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Application .class, args);
    }
}

执行项目就可以OK。

 

@Scheduled详解

在上面的入门例子中,使用了@Scheduled(fixedRate = 5000) 注解来定义每过5秒执行的任务,对于@Scheduled的使用可以总结如下几种方式:

  • @Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行
  • @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行
  • @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次
  • @Scheduled(cron="*/5 * * * * *") :通过cron表达式定义规则
共有 人打赏支持
粉丝 0
博文 45
码字总数 742
×
chenkuifang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: