什么是定时任务
周期性丶重复性丶可持续性 按照一定的时间跨度进行执行的任务,可以理解为定时任务。当然说到定时任务一定离不开 cron 表达式,常见的 定时任务 实现方式有 Quartz 或者Springboot自带的 Scheduled 只需要使用注解 @EnableScheduling 开启定时任务或者实现接口SchedulingConfigurer 添加定时任务 以及今天我们的主角 xxl-job 等方式。
今天我们来使用xxl-job实现定时任务
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。开箱即用 提供WEBUI 进行任务的调度管理 以及任务日志查看统计等功能,最主要的是它对系统的侵入性很低。同时调度中心支持集群部署。
首先第一步先去git或者gitee上拉去项目代码
[](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/915c2eb91ed444fc9351b54c08ae48a7~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.awebp?)
这里是我拉去下来的代码
xxl-job-admin
即项目调度中心也就是WEBUI
[](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8bc9c2f41d714a01a5ac843c09058afe~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.awebp?)
xxl-job-core
工程是一个抽离出来的公共模块
[](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/819b24c5d8934ab9b438d91450552f36~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.awebp?)
xxl-job-executor-samples
从命名就能看到是一个例子
[](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dcb30e6635514bcc88a1ce73c734577a~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.awebp?)
我们的项目中如何使用呢
首先引入依赖
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.1</version>
</dependency>
复制代码
在配置文件中设置调度中心的地址以及其他的信息