xxl-job的使用实例

本文介绍了如何在SpringBoot项目中集成并使用XXL-JOB进行定时任务管理。首先,引入XXL-JOB的核心依赖,配置相关参数,然后创建执行器和任务类,编写执行任务的逻辑。在XXL-JOB的控制面板中添加执行器和任务,设置执行频率。最后,通过启动任务,观察其按设定间隔自动执行的情况。
摘要由CSDN通过智能技术生成

本文来写篇xxl-job的使用实例


概述

在启动xxl-job服务端以后,打开控制面板

在这里插入图片描述


使用实例

准备工作

创建一个springboot项目来使用xxl-job定时任务

在这里插入图片描述

引入maven依赖,我用的是2.2.0版本

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

编写配置文件

###############################
# Xxl-job配置
###############################
xxl:
  job:
    accessToken: default_token
    admin:
      addresses: http://192.168.1.112:8088/xxl-job-admin/
    executor:
      address:
      appname: xxl-job-app
      ip:
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30
      port: 0

加一个配置类

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


@Configuration
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

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

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

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

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

    @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;


    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {

        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appname);
        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

        return xxlJobSpringExecutor;
    }
}


控制面板

编写一个任务类里面是执行定时任务逻辑

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.Date;


@Slf4j
@Component
public class JobSample {

    @XxlJob(value = "printTime")
    public ReturnT<String> printTime(String param) {

        log.info(">>>>>>>>>>>>>>>>>" + new Date().toLocaleString()+ " 
        param: " + param + ">>>>>>>>>>>>执行");
        return ReturnT.SUCCESS;
    }
}

启动任务注册到admin上

在这里插入图片描述


添加执行器和任务

进入管理页面,在执行器管理页面新增执行器

在这里插入图片描述

输入执行器信息,这里的AppName一定要和执行器项目中配置文件的相同,如果其多个执行器示例,也一定要保证每个示例的AppName是相同的

在这里插入图片描述

这里的onLine机器地址是无,过一会会自动注册成功。这是注册成功点击查看的页面

在这里插入图片描述

添加任务,在任务管理页面点击新增

在这里插入图片描述

这里是5秒执行一次,值得注意的是,这里的JobHandler要和执行方法@XxlJob注解中保持一致

在这里插入图片描述
在这里插入图片描述

点击保存后

在这里插入图片描述

点击启动,可以看到,每个5秒钟执行一次

在这里插入图片描述
在这里插入图片描述


本文小结

本文编写了一个简单实例来说明xxl-job的使用实际情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值