1. Spring内置定时器的使用

  1. 在configuration配置类中,引入@EnableSchedule 开启定时器
  2. 编写定时器类,在定时方法中添加@Schedule注解,并且使用fixedDelay,fixedRate,cron表达式用来标注定时器。
  3. fixedDelay: 会在上一个任务执行完后再经过n秒再执行
  4. fixedRate:每秒都会执行,不会管上一秒有没有被执行完成

2. 多线程定时器

  1. 内置的线程池都是默认单线程的,因此如果需要多个定时器并行执行,因此需要在配置多线程。
@EnableScheduling
@Configuration
public class ScheduleConfig implements SchedulingConfigurer {private static final Integer CORE_POOL_SIZE = 4;@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(CORE_POOL_SIZE,new DefaultThreadFactory("PullSyncTaskScheduleThread"));taskRegistrar.setScheduler(scheduledThreadPoolExecutor);}
}

3. async异步定时器

spring存在异步执行,也就是开启一个线程进行异步处理

  1. 使用@EnableAsync开启异步处理
  2. 在执行的方法中使用@Async标注异步执行
  3. 配置异步线程池,在@Async指定对应的线程池米名称。

如果在定时器同时使用@Async和@Schedule(fixedRelay=xxx),是不会说同一个任务,上一次执行完再执行,也就是说这里的fixedRelay是不会生效的。

4. 多线程定时器,定时器不执行问题

  1. 如果配置了多线程,多个不同的定时器,如果有一个凌晨定时器,没有被执行,应该是其他定时器被堵塞了,导致凌晨的那个定时器没有多余的thread给执行了。

Spring内置定时器的使用相关推荐

  1. 修改Spring boot内置的tomcat端口

    介绍两种种简单的修改spring boot内置端口的方法: 第一种:在入口直接设置端口,代码如下所示: public static void main(String[] args){SpringApp ...

  2. Spring Security的内置过滤器是如何维护的?

    Spring Security中的内置过滤器顺序是怎么维护的?我想很多开发者都对这个问题感兴趣.本篇我和大家一起探讨下这个问题. HttpSecurity包含了一个成员变量FilterOrderReg ...

  3. Spring Cloud Alibaba - 07 Ribbon 应用篇及内置的负载均衡算法

    文章目录 Ribbon整合三部曲 artisan-cloud-ribbon-order step1 搞依赖 step2 搞注解 (在RestTemplate上加入@LoadBalanced注解) St ...

  4. Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)

    概述 测试 源码 概述 Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload) 上篇博文我们说了基于Apache Commons FileUpload的 ...

  5. Spring Boot 内置Tomcat——集成PHP解决方案

    Demo:https://gitee.com/shentuzhigang/mini-project/tree/master/springboot-embed-tomcat-php-demo 问题分析 ...

  6. Spring Boot 内置Tomcat——getServletContext().getRealPath()为临时目录问题解决方案

    问题描述 getServletContext().getRealPath()为临时目录 问题分析 默认情况下Spring Boot中request.getServletContext().getRea ...

  7. Spring Boot 内置Tomcat——IntelliJ IDEA中配置模块目录设为文档根目录(DocumentRoot)解决方案

    源码分析 org.springframework.boot.web.servlet.server.DocumentRoot /*** Returns the absolute document roo ...

  8. Spring Boot——内置Tomcat配置阿里云免费SSL证书(PFX格式证书)[启用HTTPS协议]

    基本概念 SSL证书:SSL证书是数字证书的一种,类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书. SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA ...

  9. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

最新文章

  1. pandas索引复合索引dataframe数据、索引其中一个水平(level)的所有数据行(index all rows in a level)
  2. 【 FPGA 】组合逻辑中的竞争与险象问题(五)
  3. fatal error C1900: Il mismatch between 'P1' version '20060201' and 'P2' version '20050411'
  4. 读债务危机0804:美国债务危机与调整(2007到2011)-泡沫出现
  5. linux cat 递归目录,实验二 linux文件目录操作
  6. 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
  7. 有哪些让人相见恨晚的Python库(一)
  8. ASSD: Attentive Single Shot Multibox Detector
  9. 十大最受欢迎蓝牙耳机品牌推荐,学生党打工人平价蓝牙耳机
  10. 使用JMeter代理在谷歌浏览器中录制脚本
  11. 百度K站之前兆与解决方案的另类分析
  12. Mac上下载百度云盘大文件百度云盘客户端限速怎么处理
  13. 线性与非线性规划:随机方向法
  14. 原创干货 | 史上最全的大数据学习资源(Awesome Big Data)
  15. 读《静静的顿河》有感
  16. Spring Cloud Data Flow流处理入门-5
  17. 【python】No such file or directory的解决方法
  18. 【开源免费】微软官方推荐的桌面小工具
  19. 【转】LTE基本架构
  20. (数学建模)2013年国赛B题-碎纸片复原python代码

热门文章

  1. 使用Quartus软件实现存储器仿真
  2. Android ImageView中scaleType=centerCrop实现左对齐效果
  3. 可怕!贺建奎论文手稿意外曝光!基因编辑实验充满谎言
  4. 关于MATLAB遗传算法工具箱不等式约束
  5. es (Elasticsearch)--Java REST Client解析
  6. 找地震测线剖面注意事项
  7. C# 使用NModbus 多Slave站编程方法
  8. Hadoop核心组件详解—HDFS、YARN、MapReduce
  9. php电商实现流程图,线上电商运营流程绘制流程图分享
  10. 单片机毕设分享100例(一)