博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot定时器
阅读量:4697 次
发布时间:2019-06-09

本文共 1011 字,大约阅读时间需要 3 分钟。

在使用spring的时候遇到如下场景:由于业务需要,需要定时更新数据库,比如每隔两个小时更新一次某个字段的状态,无论是什么场景只要是需要定时去执行某种操作都可以使用spring的定时器任务来解决,以下将介绍springboot如何使用定时器任务:

创建定时任务:

@Componentpublic class NoticeTask {
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss"); /** * 每两个小时更新一次过期停水通知状态 * @return */ @Scheduled(fixedRate = 2*60*60*1000) public void refreshNoticeStatus(){ System.out.println(simpleDateFormat.format(new Date())); }}

以上代码中@Component将该类交给spring托管,通过使用@Scheduled注解就定义了一个定时器任务,该任务的执行周期为2小时,spring每两小时会调用一次该方法,fixedRate的单位是毫秒,表示任务执行的周期@Scheduled 还有其他一些用法如@Scheduled(initialDelay=5000, fixedRate=5000)延迟5秒之后每隔5秒执行一次(注意:springboot框架在启动的时候会直接执行一次定时任务,使用该方法可以避免该情况)

启用定时任务

@SpringBootApplication@EnableSchedulingpublic class ApplicationStart {
public static void main(String[] args) { SpringApplication.run(ApplicationStart.class, args); }}

通过在springboot的启动类中添加@EnableScheduling 注解即可启动spring定时器任务配置。运行程序即可看到对应的输出。

转载于:https://www.cnblogs.com/fool7/p/7833922.html

你可能感兴趣的文章
【JavaScript】各种事件
查看>>
函数的动态参数和作用域
查看>>
Silver Cow Party
查看>>
css框模型、定位、浮动
查看>>
重载操作符解析(原)
查看>>
【转】PHP获取当前时间、时间戳的各种格式写法汇总[日期时间]
查看>>
仿百度手机助手标题栏透明度随ListView或ScrollView滚动改变的实现方法
查看>>
easyUI 如何不跳转页面,只是加载替换center部分内容
查看>>
BICEP单元测试——随机四则运算升级版
查看>>
TCP/IP,Http,Socket,XMPP的区别
查看>>
PL/SQL Developer-官网下载地址
查看>>
HDU1249_三角形切割平面
查看>>
mac osx 快捷键
查看>>
ASP.NET MVC下使用AngularJs语言(一):Hello your name
查看>>
java解析XML大全(转)
查看>>
移上显示大图
查看>>
凯撒密码、GDP格式化输出、99乘法表
查看>>
document.compatMode介绍
查看>>
BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
查看>>
[OI学习笔记]最小生成树之Prim算法
查看>>