XXL-JOB 简述
应该都写过代码里的定时任务,启动类加个注解,任务头上加个注解哈,但这个定时任务是写死在当前代码里的,部署到哪,在哪定时生效。而 XXL-JOB 是一个分布式任务调度平台,它提供了丰富的功能来管理和执行定时任务。以下是使用 XXL-JOB 的一个简单流程,包括相关的代码实现和操作步骤:
预备条件
- XXL-JOB 控制台:需要先部署 XXL-JOB 管理控制台(通常是一个独立的 Java Web 应用),你可以从 XXL-JOB GitHub 仓库 获取。
- Spring Boot 项目:在你的 Spring Boot 应用中集成 XXL-JOB,以便任务调度。
部署 XXL-JOB 控制台
-
下载 XXL-JOB 示例项目并运行:
git clone https://github.com/xuxueli/xxl-job.git cd xxl-job mvn clean install -DskipTests cd xxl-job-admin mvn spring-boot:run -
打开浏览器并访问
http://localhost:8080/xxl-job-admin,使用默认账号(admin/123456)登录。
Spring Boot 项目集成 XXL-JOB
-
添加依赖:在你的
pom.xml文件中添加 XXL-JOB 的依赖。<dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.1</version> <!-- 这里版本号需要根据实际情况更新 --> </dependency> -
配置 XXL-JOB:在
application.properties或application.yml中配置 XXL-JOB 执行器。# application.properties xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin xxl.job.executor.appname=example-executor xxl.job.executor.ip=127.0.0.1 xxl.job.executor.port=9999 xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler xxl.job.executor.accessToken= -
创建任务处理器:创建一个任务处理器类。
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/**
* XxlJob开发示例(Bean模式)
* <p>
* 开发步骤:
* 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
* 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
*
* @author xuxueli
*/
@Component
public class SampleXxlJob {
private static final Logger logger = LoggerFactory.getLogger(SampleXxlJob.class);
/**
* 1、简单任务示例(Bean模式)
*/
@XxlJob("demoJobHandler")
public ReturnT<String> demoJobHandler(String param) throws Exception {
XxlJobLogger.log("XXL-JOB, Hello World.");
for (int i = 0; i < 5; i++) {
XxlJobLogger.log("beat at:" + i);
TimeUnit.SECONDS.sleep(2);
}
return ReturnT.SUCCESS;
}
}
- 启动 Spring Boot 应用:确保你的应用启动,并能够连接到 XXL-JOB 控制台。
配置并运行任务
- 登录 XXL-JOB 控制台。
- 添加执行器:在 “执行器管理” 中添加一个新的执行器,名称与
application.properties中配置的一致。 - 创建任务:在 “任务管理” 中新建一个任务,选择刚创建的执行器。
- 调度类型:选择
BEAN。 - JobHandler:填写为
sampleJobHandler。 - 调度配置:如需定时调度,可以填写 Cron 表达式。
- 调度类型:选择
- 启动任务:创建完成后,可以手动启动这个任务来测试执行效果。
这样设置后,你的 XXL-JOB 任务应该能够正常调度和执行。通过控制台,可以查看任务执行的日志并进行监控和管理。(不过业务范围广,多地部署,要注意任务定时设置的时区问题)

浙公网安备 33010602011771号