Spring自带的定时任务框架Schedule的优缺点及使用
- 不支持集群:为避免重复执行的问题
- 不支持生命周期统一管理:不重启服务情况下关闭,启动任务
- 不支持分片任务:处理有序数据时,多机器分片执行任务处理不同数据
- 不支持动态调整:不重启服务的情况下修改任务参数
- 无报警机制:任务失败之后没有报警机制
- 不支持失败重试:出现异常后任务中介,不能根据执行状态控制任务重新执行
- 任务数据统计难以统计:任务数据量大时,对于任务执行情况无法高效的统计执行情况
一些单机任务的情况比较适合,因为拆箱即用,但是我还是推荐国产的轻量级的定时任务框架xxl-job
使用方法:
1 //编写定时任务 每五秒输出一次
2 @Scheduled(cron = "*/5 * * * * ?")
3 public void test(){
4 System.out.println("Hell啊,树哥");
5 }
关于触发器corn的配置:
1 每隔5秒执行一次任务: "*/5 * * * * ?"
2
3 每隔1分钟执行一次任务: "0 */1 * * * ?"
4
5 每天23点执行一次任务: "0 0 23 * * ?"
6
7 每天凌晨1点执行一次任务: "0 0 1 * * ?"
8
9 每月1号凌晨1点执行一次任务: "0 0 1 1 * ?"
10
11 每月1号凌晨2点执行一次任务: "0 0 2 1 * ? *"
12
13 每月最后一天23点执行一次任务: "0 0 23 L * ?"
14
15 每周星期天凌晨1点执行一次任务: "0 0 1 ? * L"
16
17 26分、29分、33分各执行一次任务: "0 26,29,33 * * * ?"
18
19 每天的0点、13点、18点、21点各执行一次任务: "0 0 0,13,18,21 * * ?"
20
21 周一到周五每天上午10:15执行一次任务: "0 15 10 ? * MON-FRI"
22
23 2020-2021年的每个月的最后一个星期五上午10:15执行一次任务: "0 15 10 ? 6L 2020-2021"
24
25 #在线配置
26 https://qqe2.com/cron
Spring自带的定时任务框架Schedule的优缺点及使用的更多相关文章
- SpringBoot定时任务 - Spring自带的定时任务是如何实现的?有何注意点?
通过前文我们基本梳理了定时任务体系:Timer和ScheduledExecutorService是JDK内置的定时任务方案,以及Netty内部基于时间轮实现的HashedWheelTimer,再到Qu ...
- Spring 自带的定时任务
需要几天后,或者某个时间后,定时查询数据.需要用到Spring自带的一个注解 @Scheduled(cron="0/5 * * * * ? ")//每隔5秒钟执行 创建一个clas ...
- 基于spring+quartz的分布式定时任务框架
问题背景 我公司是一个快速发展的创业公司,目前有200人,主要业务是旅游和酒店相关的,应用迭代更新周期比较快,因此,开发人员花费了更多的时间去更=跟上迭代的步伐,而缺乏了对整个系统的把控 没有集群之前 ...
- spring自带的定时任务功能@EnableScheduling
1 demo package com.test.domi.config; import org.springframework.beans.factory.annotation.Configurabl ...
- spring自带的定时任务功能,基于注解和xml配置
1.spring的配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo ...
- Spring 自带的定时任务Scheduled
1.注解@Scheduled 可以作为一个触发源添加到一个方法中,例如,以下的方法将以一个固定延迟时间5秒钟调用一次执行,这个周期是以上一个调用任务的完成时间为基准,在上一个任务完成之后,5s后再次执 ...
- Spring Boot 中实现定时任务的两种方式
在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua ...
- 品Spring:关于@Scheduled定时任务的思考与探索,结果尴尬了
非Spring风格的代码与Spring的结合 现在的开发都是基于Spring的,所有的依赖都有Spring管理,这没有问题. 但是要突然写一些非Spring风格的代码时,可能会很不习惯,如果还要和Sp ...
- atititt.java定时任务框架选型Spring Quartz 注解总结
atititt.java定时任务框架选型Spring Quartz 总结 1. .Spring Quartz (ati recomm) 1 2. Spring Quartz具体配置 2 2.1. 增 ...
随机推荐
- ABBYY FineReader 与尚书七号OCR的对比
ABBYY FineReader 与尚书七号OCR都是帮助我们识别文字的工具,使用的都是OCR技术,如今文字识别工具是我们学习和工作经常会使用的,它们的功能是否实用和好用?现在通过对比的方式来探讨. ...
- Java IDEA根据database以及脚本代码自动生成DO,DAO,SqlMapper文件(一)
根据数据库代码自动生成的插件挺多的,这里主要分享两种: 1.根据database以及脚本代码自动生成 2.根据mybatis-generator-core自动生成(下一章节进行分享,包含sqlserv ...
- Powermockito 针对方法中new 对象的模拟,以及属性中new 对象的模拟
PowerMocker 是一个功能逆天的mock 工具. 一,Powermockito 针对方法中new 对象的模拟 // 如何才能mock掉 WeChatConfigUtil 这个类,让 weCha ...
- C语言讲义——errno
#define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #defi ...
- Java蓝桥杯——排序练习:选美大赛
选美大赛 在选美大奖赛的半决胜赛现场,有一批选手参加比赛,比赛的规则是最后得分越高,名次越低.当半决决赛结束时,要在现场按照选手的出场顺序宣布最后得分和最后名次,获得相同分数的选手具有相同的名次,名次 ...
- sentinel整合dubbo
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-dubbo-a ...
- lambda表达式中无法抛出受检异常!
抛出受检异常的时候,我们的接口应该带上throw关键字,但通过lambda表达式实现的Consumer的accept方法并不带有关键字,因此在lambda表达式中不能抛出受检异常必须把它吃掉
- 【mq读书笔记】顺序消息
注意异常情况导致整个消费无限重试 阻塞消费 mq支持局部消息顺序消费,可以确保同一个消息消费队列中的消息被顺序消费.看下针对顺序消息在整个消费过程中做的调整: 队列负载: DefaultMQPushC ...
- Istio 之ServiceEntry
使用服务条目资源(ServiceEntry)可以将条目添加到 Istio 内部维护的服务注册表中.添加服务条目后,Envoy 代理可以将流量发送到该服务,就好像该服务条目是网格中的服务一样.通过配置服 ...
- 【佛山市选2013】JZOJ2020年8月7日提高组T2 树环转换
[佛山市选2013]JZOJ2020年8月7日提高组T2 树环转换 题目 描述 给定一棵N个节点的树,去掉这棵树的一条边需要消耗值1,为这个图的两个点加上一条边也需要消耗值1.树的节点编号从1开始.在 ...