前置知识
在开始本教程之前,建议您具备以下基础知识:
- Java 基础知识
- Spring Boot 基础
- Maven 构建工具
- 分布式系统基础概念
什么是 XXL-Job?
XXL-Job 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2025/9/17大约 4 分钟
前置知识
在开始本教程之前,建议您具备以下基础知识:
XXL-Job 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
前置知识
在学习本教程前,请确保您已经:
最常用的任务类型,通过 @XxlJob
注解开发,支持自动发现注册。
@Component
public class BeanModeJob {
@XxlJob("beanModeJobHandler")
public void execute() throws Exception {
XxlJobHelper.log("Bean模式任务执行");
// 业务逻辑
}
}
前置知识
在学习本教程前,请确保您已经:
分片广播会广播触发对应集群中所有执行器执行一次任务,同时传递分片参数。适用于处理大数据量任务。
@XxlJob("shardingJob")
public void shardingJob() {
// 获取分片参数
int shardIndex = XxlJobHelper.getShardIndex();
int shardTotal = XxlJobHelper.getShardTotal();
// 分片处理逻辑
List<Long> userIds = getUserIdsByMod(shardIndex, shardTotal);
for (Long userId : userIds) {
processUser(userId);
}
}
private List<Long> getUserIdsByMod(int shardIndex, int shardTotal) {
return jdbcTemplate.queryForList(
"SELECT id FROM user WHERE id % ? = ?",
Long.class,
shardTotal,
shardIndex
);
}