XXL-JOB 是一个分布式任务调度框架,主要用于实现大规模的定时任务调度。它提供了简单易用的界面和灵活的扩展能力,非常适合用于微服务架构下的任务调度需求。本文将带你快速入门 XXL-JOB。

一、环境准备

在开始之前,确保你的开发环境中已经安装了以下软件:

  1. Java JDK:版本 1.8 或以上
  2. Maven:用于项目管理和构建
  3. Redis:用于存储任务调度信息
  4. MySQL:用于存储任务执行记录
  5. XXL-JOB Admin:任务调度的管理后台

二、搭建 XXL-JOB 项目

  1. 创建 Maven 项目

首先,使用 Maven 创建一个新的 Java 项目。在 pom.xml 中添加以下 XXL-JOB 的依赖:

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.3.0</version> <!-- 请根据最新版本进行更改 -->
</dependency>
  1. 配置 XXL-JOB Admin

下载 XXL-JOB 的 Admin 模块(可以从 GitHub 获取),启动 Admin 的 Java 应用(xxl-job-admin-xx.jar),访问默认地址 http://localhost:8080。首次访问时,创建管理员账户。

在 Admin 界面中添加一个执行器,记录下执行器的 appName, address, ip, port, 和 loggingPath 等信息。

  1. 配置 数据源

application.properties 文件中配置 MySQL 和 Redis 的连接信息。例如:

xxl.job.executor.appname = your_app_name
xxl.job.executor.address = http://localhost:9999/xxl-job-executor
xxl.job.executor.ip = 127.0.0.1
xxl.job.executor.port = 9999
xxl.job.executor.logpath = /tmp/xxl-job/logs
xxl.job.executor.logretentiondays = 30

spring.datasource.url = jdbc:mysql://localhost:3306/xxl_job?useUnicode=true&characterEncoding=utf8
spring.datasource.username = your_username
spring.datasource.password = your_password

三、编写任务代码

在项目中创建一个简单的任务。以下是一个执行 "Hello World" 消息的示例任务类:

import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.handler.IJobHandler;

@JobHandler(value = "helloJobHandler")
public class HelloJobHandler extends IJobHandler {

    @Override
    public ReturnT<String> execute(String param) throws Exception {
        System.out.println("Hello XXL-JOB! Param: " + param);
        return SUCCESS;
    }
}

四、注册任务

在 XXL-JOB Admin 界面中,注册新任务:

  1. 选择 "任务管理" -> "新增任务"
  2. 填写任务相关信息,包括任务名称、执行器(选择前面创建的执行器)、任务处理器(填写 helloJobHandler),并设置 CRON 表达式(例如 0/10 * * * * ? 表示每十秒执行一次)。
  3. 保存任务,任务将会定时触发并执行。

五、启动执行器

在你的项目主类中添加 @EnableXxlJob 注解以启用 XXL-JOB 功能:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.xxl.job.core.handler.annotation.EnableXxlJob;

@SpringBootApplication
@EnableXxlJob
public class XxlJobExampleApplication {
    public static void main(String[] args) {
        SpringApplication.run(XxlJobExampleApplication.class, args);
    }
}

接下来启动你的 Spring Boot 应用程序,任务将在指定时间执行。

六、监控与日志

在 XXL-JOB Admin 界面中,可以通过 "任务监控" 查看任务的执行情况,并可查看日志信息,方便我们调试与维护。

总结

通过以上步骤,我们已经完成了 XXL-JOB 的环境搭建和简单任务的创建与注册。XXL-JOB 提供了强大的任务调度能力,并且易于扩展,适合各种业务场景。希望本文对你了解和使用 XXL-JOB 有所帮助!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部