springboot【25】定时任务@Scheduled
来源:互联网 发布:linux网络书籍 编辑:程序博客网 时间:2024/06/05 15:03
有时候业务功能需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等这就需要用到定时任务。具体参见官方的Scheduling Tasks
创建定时任务
在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。
- 在Spring Boot的主类中加入
@EnableScheduling
注解,启用定时任务的配置
package com.lyd;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication@EnableSchedulingpublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}
- 创建定时任务实现类
package com.lyd.task;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class ScheduledTasks {private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");@Scheduled(fixedRate = 5000)public void reportCurrentTime(){System.out.println("现在时间:" + dateFormat.format(new Date()));}}
- 运行程序,控制台中可以看到类似如下输出,定时任务开始正常运作了。
@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 0
- springboot【25】定时任务@Scheduled
- SpringBoot 定时任务@Scheduled详解
- SpringBoot定时任务(@Scheduled)说明
- Springboot 之 使用Scheduled做定时任务
- SpringBoot 使用Scheduled 定时任务入门
- Springboot之使用Scheduled做定时任务
- 12.Springboot 之 使用Scheduled做定时任务
- 集群服务器下使用SpringBoot @Scheduled注解定时任务
- @scheduled定时任务
- @Scheduled注解,定时任务
- Spring 定时任务 @Scheduled
- spring scheduled定时任务
- Spring定时任务(@Scheduled)
- @Scheduled 定时任务注解
- @Scheduled实现定时任务
- spring 定时任务 Scheduled
- @Scheduled定时任务
- 定时任务 Scheduled cron
- FZU 2275 Game(KMP)
- :not 选择器
- 面对对象--回顾初识
- Java汉字转换成拼音利用pinyin4j的jar包实现
- HNUST 1747: 硬币翻转(简单博弈)
- springboot【25】定时任务@Scheduled
- spring 返回值类型是String
- HDU 2609 How many(最小表示法)
- 生成csv文件并下载
- BZOJ 2457: [BeiJing2011]双端队列 贪心
- 剑指offer(二)替换字符
- RMQ (Range Minimum/Maximum Query)算法
- Python 不换行输出
- Spring 四种切面技术(拦截)、获取Spring容器的两种办法