Springboot集成Xxl-job(快速精简版)最新版本

xxl-job调度中心

官网下载最新版本xxl-job调度中心源码:https://github.com/xuxueli/xxl-job/

一、从源码中拿到调度中心的初始化sql文件,然后在本地数据库执行sql文件,初始化调度中心数据库。

初始化完成后,数据库会生成下列这些调度中心所需要的表:

二、打开xxl-job-admin配置文件,修改连接数据库的配置,这里数据库配置为刚刚执行初始化sql的那个数据库。

三、启动调度中心

上述配置完成后,启动调度中心应用

启动成功后,可尝试访问xxl-job调度中心应用:http://localhost:8080/xxl-job-admin/toLogin

默认登录账户密码:admin / 123456

至此xxl-job调度中心配置启动结束。

xxl-job执行器应用

一、初始化一个springboot项目

二、导入xxl-job依赖(新版本)

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

三、编写xxl-job配置application.yml

四、编写configeration配置:在Spring中注册执行器bean

package com.ws.config;

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.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * @author sanworld
 * @date 2025/01/07
 */
@Slf4j
@Configuration
public class XxlJobConfig {

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.appname}")
    private String appName;

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

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

    @Value("${xxl.job.executor.logpath}")
    private String logPath;

    @Value("${xxl.job.executor.logretentiondays}")
    private int logRetentionDays;

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

    /**
     * 新版本xxl-job (2.1.2以上) 中,需要删除@Bean参数:initMethod = "start", destroyMethod = "destroy",否则会报错
     */
    @Bean
    public XxlJobSpringExecutor xxlJobSpringExecutor() {
        log.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor executor = new XxlJobSpringExecutor();
        executor.setAdminAddresses(adminAddresses);
        executor.setAppname(appName);
        executor.setIp(ip);
        executor.setPort(port);
        executor.setLogPath(logPath);
        executor.setLogRetentionDays(logRetentionDays);
        executor.setAccessToken(accessToken);
        return executor;
    }

}

五、编写定时任务

/**
 * 执行器任务:每个执行器一个方法
 * <p>
 * 注意:@JobHandler注解在新版本中已被@XxlJob替代,作用于方法上
 *
 * @author sanworld
 * @date 2025/01/07
 */
@Component
public class TestJob {

    @XxlJob(value = "testJob")
    public void testJobOne() {
        System.out.println("-----这是 testJob 测试任务-----");
        System.out.println(">>>>>>>>>>>>> testJobOne 执行成功 >>>>>>>>>>>>>");
    }

    @XxlJob(value = "testJob2")
    public void testJobTwo() {
        System.out.println("-----这是 testJob2 测试任务-----");
        System.out.println(">>>>>>>>>>>>> testJobTwo 执行成功 >>>>>>>>>>>>>");
    }

}

注意: 新版本注解均使用@XxlJob,作用在定时任务方法上,且方法名称不限制;需要注意,定时任务方法的类需要加上@Component注解,将其注册为spring bean。

@XxlJob(value = "testJob")中的value值为稍后需要在调度中心配置的JobHandler参数值

六、配置调度中心-执行器

在 “调度中心-执行器管理” 中选择 “新增”

配置执行器

七、配置调度中心-定时任务

选择任务管理器,然后点击新增

配置新增任务的参数:

如果有多个定时任务,那么这里就创建多个任务,JobHandler参数值需要和@XxlJob(value = "")注解中的value值一一对应。

新增任务完成后,会在任务管理器中看到新增的任务

八、启动springboot应用 (执行器)

启动自己的springboot应用,如果应用启动成功,会将刚才自己写的定时任务Job注册到xxl-job调度中心。

如果注册成功,“OnLine机器地址” 会出现你的执行器应用的IP地址和端口号

九、调度中心使用定时任务

如果都完成,则可以直接在 任务管理中执行定时任务,可以点击执行一次,会立即执行一次;点击启动,则会按照cron表达式定时执行。

定时任务的管理都在该页面进行,也可查看定时任务相关的日志,以及是否成功或者失败等等。

至此,已快速集成完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值