定时任务,不陌生。
一、JDK 原生
Timer
TimerTask
完成定时任务的调度
二. Spring 提供的 定时任务
只需要在 方法上加上
@Scheduled
注解,就OK了。 这个用起来非常便捷。
如果一个任务执行阻塞,可能会影响其他任务执行。
三. xxl-job
https://github.com/xuxueli/xxl-job.git/
1. xxl-job 有一个控制台,需要部署之后,用来注册Job。 需要使用到 mysql 数据库
2. 具体的Job 方法写完之后,spring boot项目 使用
@XxlJob
注解标识这个方法,就OK了,也不复杂。
四.Quartz
官网:
http://www.quartz-scheduler.org/
在编写代码时,稍微复杂一下,需要实现Job接口,创建 JobDetail、Trigger、Scheduler 等来协助完成调度你的任务。
五、Elastic-Job
需要用到 zookeeper来协助完成。目前为止没有用过。