源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解Spring Boot中使用@Scheduled创建定时任务

  • 时间:2020-09-08 02:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解Spring Boot中使用@Scheduled创建定时任务
我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。 [b]创建定时任务[/b] 在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。 在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置
 @SpringBootApplication
@EnableScheduling
public class SpringbootScheduletaskApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringbootScheduletaskApplication.class, args);
  }
}
@Component
public class ScheduledTasks {
  private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  @Scheduled(fixedRate = 5000)
  public void reportCurrentTime() {
    System.out.println("现在时间:" + sdf.format(new Date()));
  }
}
[b]创建定时任务实现类[/b] 运行程序,控制台中可以看到类似如下输出,定时任务开始正常运作了。 2016-05-15 10:40:04.073  INFO 1688 --- [           main]           : Started Application in 1.433 seconds (JVM running for 1.967) 现在时间:10:40:09 现在时间:10:40:14 现在时间:10:40:19 现在时间:10:40:24 现在时间:10:40:29522 现在时间:10:40:34 关于上述的简单入门示例也可以参见官方的[url=http://spring.io/guides/gs/scheduling-tasks/]Scheduling Tasks[/url] [b]@Scheduled详解[/b] 在上面的入门例子中,使用了@Scheduled(fixedRate = 5000) 注解来定义每过5秒执行的任务,对于@Scheduled的使用可以总结如下几种方式: [list] [*]@Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行[/*] [*]@Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行[/*] [*]@Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次[/*] [*]@Scheduled(cron="*/5 * * * * *") :通过cron表达式定义规则[/*] [/list] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部