资讯专栏INFORMATION COLUMN

Spring Boot创建定时任务

yvonne / 2230人阅读

摘要:项目中经常要用到定时任务,比如发邮件短信清理缓存等等创建定时任务非常简单,只需要几个注解就可以。会等带上个任务执行完毕才执行,第一次延迟秒后执行,之后按的规则每秒执行一次通过表达式定义规则详细请看官方文档

项目中经常要用到定时任务,比如发邮件短信、清理缓存等等
spingboot 创建定时任务非常简单,只需要几个注解就可以。
下面我给一个定时清理缓存的任务,测试程序缓存功能的时候经常要用到。

1、启动定时任务配置

只需要在 Application上加上 @EnableScheduling 注解, @EnableCaching是启动缓存配置的

2、创建需要定时执行的方法
在方法上加上注解 @Scheduled(fixedRate=10000) ,下图是一个定时清理缓存的方法
每10s执行一次:

执行结果:

参加spring官方案例: https://spring.io/guides/gs/s...
3、@Scheduled注解参数:

@Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行

@Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行

*这个与fixedRate区别在于,可以保证任务不会重叠执行,*
*fixedRate=5000表示每5s中启动任务,如果任务执行时间超过了5s中那么就会有多个任务同时执行。*
*fixedDelay=5000s会等带上个任务执行完毕才执行,*

@Scheduled(initialDelay=1000, fixedRate=5000)
:第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次

@Scheduled(cron="*/5 * * * * *") :通过cron表达式定义规则

详细请看官方文档:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73771.html

相关文章

  • Spring Boot(四)Spring Boot 中的定时任务

    摘要:对于定时任务类如果不定义线程池,控制台输出如下,可以看到不同的定时任务是同一个线程在执行在配置类或者启动类中增加定时任务的线程池控制台输出本节示例代码已上传到 一.SpringBoot中开启定时任务 在spirngboot中使用定时任务非常简单,只需要在启动类上增加一个@EnableScheduling注解即可。 @SpringBootApplication @EnableSchedu...

    firim 评论0 收藏0
  • SpringBoot 1024行代码 - 定时任务

    摘要:前言用组件实现简易的定时任务功能。步骤创建一个启动类注意,是关键,加了这个注解才能启动定时任务。编写定时任务方法可以实现两种定时,一种是每个一段时间执行一次方法,另一种是执行一次方法之后间隔若干时间后再执行下一次。 前言 用Spring-Context组件实现简易的定时任务功能。只可以支持较简单的业务场景,实用价值不高。如果想要投放到生产环境,需要进行一些改造。 步骤 1. pom.x...

    fou7 评论0 收藏0
  • spring-boot | 多线程并发定时任务

    摘要:多线程并发定时任务刚刚看了下实现定时任务的文章,感觉还不错。存在问题但是后来发现个问题,通过同时测试几个任务发现,所有的任务都是在同一个线程池中的同一个线程来完成的。 spring-boot | 多线程并发定时任务 刚刚看了下Spring Boot实现定时任务的文章,感觉还不错。Spring Boot 使用Spring自带的Schedule来实现定时任务变得非常简单和方便。在这里个大家...

    silenceboy 评论0 收藏0
  • spring定时任务调度

    本文将告诉你如何使用spring的任务调度。主要使用@Scheduled注解 需要会使用maven 第一步 pom.xml配置 4.0.0 org.xxz scheduled-task-test 1.0 org.springframework.boot spring-boot-starter-parent ...

    nodejh 评论0 收藏0
  • SpringBoot实现动态控制定时任务-支持多参数

    摘要:由于工作上的原因,需要进行定时任务的动态增删改查,网上大部分资料都是整合框架实现的。本人查阅了一些资料,发现本身就支持实现定时任务的动态控制。 由于工作上的原因,需要进行定时任务的动态增删改查,网上大部分资料都是整合quertz框架实现的。本人查阅了一些资料,发现springBoot本身就支持实现定时任务的动态控制。并进行改进,现支持任意多参数定时任务配置 实现结果如下图所示: sho...

    cjie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<