XXL_Job的使用

173 阅读2分钟

 废话不说,想了解xxl_job的百度一下,我这里只记录我的配置使用过程

一、准备工作:

1.下载源码

2.解压,打开文件,将doc/db下的sql文件执行在数据库中

5bfdc1db9c3d4a62bbd6fd02e0221d15.png​编辑

二、配置调度中心

 1.将解压后的源码导入IDEA

 2. 配置admin模块下的配置文件

6ca9b494d2a640cab6837f0c7a509782.png​编辑

我这里只修改了端口号和数据库(写出你自己的)

8d31ab3ae77e42568d08e75cb90b89a3.png​编辑

b4f30c53fac048bca228cc528300ae2a.png​编辑

还是选择admin模块下启动类,启动

f8bbe74fa84e492ba855f86b5d85378d.png​编辑

启动成功就可以通过http://localhost:8090/xxl-job-admin/访问

账号密码默认为:amdin 123456

三、配置执行器

这个相当于应用程序,比如项目的某个订单模块需要使用xxl_job

1.添加maven依赖

        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.4.0</version>
        </dependency>

2.添加xxl_job的配置文件

xxl:
  job:
    admin:
      addresses: http://localhost:8090/xxl-job-admin
    accessToken: default_token
    executor:
      app name: cz-job
      port: 10000

addresses: 要和上面的路径相同

app name: 这个是执行器的名称,后面要注册到上面配置的调度中心

port: 执行器的端口号,调用中心通过这个端口号连接你的应用程序

3.写配置类

package com.cz.ywhk.xxljob;

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 功能描述:  xxl_job配置类
 *
 * @author: Joker.
 * @date: 2025/1/16 18:00
 * @version: 1.0
 */

@Configuration
@Slf4j
public class XxlJobConfig {
    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.app name}")
    private String appName;
    
    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.accessToken}")
    private String accessToken;


    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        log.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appName);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);

        return xxlJobSpringExecutor;
    }

}

4.编写配置类

package com.cz.ywhk.xxljob;

import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 功能描述:
 *
 * @author: Joker.
 * @date: 2025/1/17 9:06
 * @version: 1.0
 */

@Component
@Slf4j
public class XxlJobTest {
    private int count = 0;
    @XxlJob("demoJobHandler")
    public void task01(){
        log.info("task01被执行{}", ++count);
    }

}

只需要在你要执行的方法上加一个@XxlJob("demoJobHandler")注解 

这个方法就相当于是一个定时任务,value为这个任务的名字

四、在调度中心添加执行器和定时任务

新增执行器

de50ba7ab7b94c4b8a6ae6f9f5020498.png​编辑

d45db4d592174c56b35bb04e42b48884.png​编辑

根据前面应用程序配置文件中的内容,选择手动录入   保存

新增任务

9fd5ab91aea440c4a42db1d3bc45eac1.png​编辑

f33212a8fbc54c9f9919c08bbd34d939.png​编辑

保存

启动定时任务

6ad59ba2606d4403bfc916387355e667.png​编辑

应用程序执行结果:

66f3cb97f02440cf9b1bae4caffd688e.png​编辑

成功!