1、说明
XXL-JOB
是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2、使用步骤
(官网社区文档已经写的很详尽,这里摘要)
下载xxljob源码,https://gitee.com/xuxueli0323/xxl-job 或 https://github.com/xuxueli/xxl-job/
- 系统包含各个模块如下:
xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
:xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
:xxl-job-executor-sample-frameless:无框架版本;
(1)运行sql脚本: "/xxl-job/doc/db/tables_xxl_job.sql"
(2)启动调用中心
idea中运行xxl-job-admin
,或者maven
构建jar
包运行
访问:http://localhost:8088/xxl-job-admin/
默认登录账号 “admin/123456”, 登录后运行界面如下图所示。
(3) sprinboot集成认为执行器
参考xxl-job-executor-samples
下的 xxl-job-executor-sample-springboot
- a、pom 引用
xxl-job-core
<properties>
<xxljob.version>2.3.0</xxljob.version>
</properties>
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>${xxljob.version}</version>
</dependency>
- b、yml文件配置
xxl:
job:
accessToken: ''
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin
executor:
address: ''
appname: xxl-job-executor-sample
ip: ''
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: 30
port: 9999
- c、执行器任务开发
*遵循原则
参考:XxlJob开发示例(Bean模式)
* 开发步骤:
* 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
* 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 3、执行
*代码示例
/**
*
* @version V1.0
* @Title: XxlJobTask
* @Description: xxljob
* @author: Geroge1226
* @date: 12/1/21 3:20 PM
*/
@Component
@Slf4j
public class XxlJobTask {
@XxlJob("printJobHandler")
public ReturnT<String> jobExcutor(){
log.info("=====> hello world");
return ReturnT.SUCCESS;
}
}
-
d、运行执行器项目
执行成功
(4)调度中心配置任务
-
a、执行管理下配置执行器
image.png
-
b、任务管理下新增调度任务
调度任务
-
c、运行结果
控制台
-
d、查看调度日志
调度日志
3、xxljob工作原理
3.1、架构图
架构图总结
(1)应用xxljob
时候,需要使用数据库、调度中心服务、执行器(定时任务执行内容)。
(2)需要在调度中心对定时任务进行配置
网友评论