一、基本方法

有了SpringBoot貌似一切都变了非常简单,定时任务也不用整合quartz了,直接schedule就欧了。具体咋用?非常简单。

1、引入POM依赖

Spring的Schedule包含在spring-boot-starter模块中,无需引入其他依赖。

2、开启注解支持

在启动类增加注解:@EnableScheduling

3、轻松上手使用

A、Cron表达式

    // 当方法的执行时间超过任务调度频率时,调度器会在下个周期执行@Scheduled(cron = "0/10 * * * * *") private void cronSchedule() {LOGGER.info("cronSchedule");}

B、固定间隔

    // 固定间隔,等上一次调度完成后,再开始计算间隔,再执行@Scheduled(fixedDelay = 5000) public void fixedDelaySchedule() {LOGGER.info("fixedDelaySchedule");}

C、固定频率

    // 固定频率,如果上次调度超过了频率时间,那么在其完成后,立刻执行@Scheduled(fixedRate = 3000) public void fixedRateSchedule() {LOGGER.info("fixedRateSchedule");}

二、注意要点

Spring的Schecule默认是单线程执行的,如果你定义了多个任务,那么他们将会被串行执行,会严重不满足你的预期。

所以为了解决该问题,需要自定义线程池,具体如下:

/*** 自定义线程池*/
@Component
public class ScheduleConfig implements SchedulingConfigurer {@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler(customScheduler());}@Bean(destroyMethod = "shutdown")public ExecutorService customScheduler() {return Executors.newScheduledThreadPool(20);}}

SpringBoot中使用Schedule相关推荐

  1. SpringBoot中的定时任务的同步与异步

    SpringBoot中的定时任务的同步与异步你确定真的知道? 授人以渔 Java领域;架构知识;面试心得;互联网行业最新资讯 定时任务调度功能在我们的开发中是非常常见的,随便举几个例子:定时清除一些过 ...

  2. springBoot中使用定时任务

    简单示例 导入依赖 springBoot已经默认集成了定时任务的依赖,只需要引入基本的依赖就可以使用定时任务. <parent><groupId>org.springframe ...

  3. springboot中@scheduled注解使用备注

    参考文章: https://cloud.tencent.com/developer/article/1497610 https://blog.csdn.net/Rice_kil/article/det ...

  4. 在SpringBoot中使用Spring Session解决分布式会话共享问题

    在SpringBoot中使用Spring Session解决分布式会话共享问题 问题描述: 每次当重启服务器时,都会导致会员平台中已登录的用户掉线.这是因为每个用户的会话信息及状态都是由session ...

  5. SpringBoot 中 JPA 的使用

    前言 第一次使用 Spring JPA 的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了.下面我们就用一个例子来讲述以下 JPA 使用的基本操作 ...

  6. 难以想象SpringBoot中的条件注解底层居然是这样实现的

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | https://urlify.cn/bm2qqi Spr ...

  7. 面试:SpringBoot中的条件注解底层是如何实现的?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | https://urlify.cn/bm2qqi Spr ...

  8. springboot yml怎么建常量_【Java】SpringBoot 中从application.yml中获取自定义常量

    由于这里我想通过java连接linux,connection连接需要host.port.username.password及其他路径等等.不想每次修改的时候都去改源文件,所以想写在applicatio ...

  9. Springboot中给图片添加文字水印

    Springboot中给图片添加文字水印 工作中遇到给图片添加文字水印的需求,记录下来方便之后查阅 需求内容: 给一张图片添加指定文字水印,使一张图片上有多个水印内容,并且设定一个水印开关,可指定是否 ...

最新文章

  1. eclipse 注释星号没对齐_36 个奇葩代码注释,看完笑哭了!
  2. 云炬WEB开发笔记2-7 代理神器CharlesFiddler
  3. sun服务器dt消息不能被启动,Sun ONE Application Server 错误
  4. Qt工作笔记-QGraphics重设场景坐标【标签:Qt图形框架】
  5. Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13
  6. synchronized方法与synchronized代码块的区别
  7. bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
  8. Android 通过软引用实现图片缓存,防止内存溢出
  9. Flink Hudi 0.10.0 发布,多项重要更新,稳定性大幅提升
  10. tv盒子管理助手android版本,TV盒子工具 管理电视盒子的好助手
  11. Apache doris Datax DorisWriter扩展使用方法
  12. IntelliJ IDEA 配置Jetty启动项目
  13. 发表SCI或EI类英文文章的投稿经验
  14. 朴素贝叶斯算法实现垃圾邮件过滤(Python3实现)
  15. 一度智信开网店靠谱吗
  16. 计算机考研视频哪个好,计算机考研视频课程哪个好
  17. win11系统搭建FTP服务器超详细流程
  18. 公安情报收集工作的新战场——互联网
  19. onscroll事件没有响应的问题
  20. Python程序流程控制

热门文章

  1. C++学习笔记(十五)vector及string
  2. 献给毕业生:五百强各大行业简介+面试流程+tips
  3. 基于Qt的类似QQ好友列表抽屉效果的实现
  4. 1.2描述性统计-离散程度
  5. imread读取图片的方式
  6. VS2019 VS2017 指定的任务可执行文件“cmd.exe”未能运行。函数不正确。解决方案
  7. c语言 define printf,#define和printf不是c语句?那是什么?
  8. 判断一段时间是否包含令一段时间
  9. 计算机二级vp是什么意思,江苏计算机二级VP考试复习指导.doc
  10. Db2 reorg pending state