java中的定时任务

java中的定时任务, 使用java实现有3种方式:

1, 使用普通thread实现

2, 使用timer实现: 可控制启动或取消任务, 可指定第一次执行的延迟

线程安全, 但只会单线程执行, 如果执行时间过长, 就错过下次任务了, 抛出异常时, timerWork会终止

3, 使用 ScheduledExcecutorService 实现

ScheduledExecutorService 是java.util.concurrent种的额一个累, 用于实现定时任务

它可以: 1, 通过线程池的方式执行任务

2, 设定第一次的延迟事件

3, 提供良好的约定, 设定时间间隔

4, 使用spring的 spring-task 实现

第一种方式, 注解的方式实现

第二种方式, 配置文件配置的方式实现

2, 添加配置信息

3, 代码实现

时间表达式

常用的表达式为:

5, 使用 第三方插件 Quartz实现

maven依赖

1, 配置文件:

2, 配置调度工厂:

3, 定义作业类:

任务类:

配置文件:

6, 在springboot中实现定时任务:

7, Springboot 集成 quartz

为什么非要集成呢, 因为quartz支持集群定时任务, 现在还用不到, 防止以后用到

1, 配置quartz的配置信息类

2), 具体的作业类

系列原创, 转载请注明出处, 谢谢 @Wenbronk: http://www.cnblogs.com/wenbronk/p/6433178.html

Original: https://www.cnblogs.com/xiaofengfeng/p/9258617.html
Author: 小锋神
Title: java中的定时任务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/538738/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球