当前位置: 首页 > backend >正文

关于如何本地启动xxl-job,并且整合SpringBoot

1. 本地安装xxl-job并启动

  1. 拉取xxl-job的代码
git clone git@github.com:xuxueli/xxl-job.git
  1. 配置xxl-job数据库

拉取代码后,代码的doc/db目录下有官方配置好的sql脚本,执行里面的sql脚本至本地数据库
在这里插入图片描述
3. 修改xxl-job默认的数据库配置

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root # mysql用户名
spring.datasource.password=xiaoqian666 # mysql密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  1. 本地启动

启动后,访问http://localhost:8080/xxl-job-admin/即可。

2. 整合SpringBoot

  1. 引入依赖
<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.4.0</version>
</dependency>
  1. 增加xxl-job的配置
xxl:job:admin:addresses: http://127.0.0.1:8080/xxl-job-adminaccessToken: "default_token"executor:appname: test-xxl-job # 任务执行器的名称address: ""ip: ""port: 9999logpath: ./logs/xxl-joblogretentiondays: 30
  1. xxl-job配置类
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;/*** xxl-job config** @author xuxueli 2017-04-28*/
@Configuration
public class XxlJobConfiguration {private Logger logger = LoggerFactory.getLogger(XxlJobConfiguration.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;@Beanpublic 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;}
}
  1. 创建xxl-job定时任务

使用@XxlJob注解指定任务名

@Component
@Slf4j
@RequiredArgsConstructor
public class JobHandler {@XxlJob("testJob") // 任务名public ReturnT<String> testJob(String param) {XxlJobHelper.log("testJob handler is running...");XxlJobHelper.handleSuccess("输出ProductReport完成");log.debug("xxl job 启动任务" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));return ReturnT.SUCCESS;}
}
  1. 控制台新增任务执行器

任务执行器的名称要和xxl-jobappname一致,名称就是备注,其他默认
在这里插入图片描述

  1. 控制台新增任务

在这里插入图片描述

  1. 执行任务

在任务管理处,可以对指定任务立即执行一次,也可以启动任务,任务会按照cron表达式定时执行
在这里插入图片描述

http://www.xdnf.cn/news/6707.html

相关文章:

  • 最新模型集合(仅用于个人收集)
  • 前端批量下载文件打包为zip
  • 【Unity】用事件广播的方式实现游戏暂停,简单且实用!
  • 5月16日day27打卡
  • LED接口设计
  • R语言学习--Day03--数据清洗技巧
  • day32-多线程juc
  • QML元素 - OpacityMask
  • [BJDCTF2020]The mystery of ip
  • Python 在自动驾驶数据标签中的应用:如何让 AI 读懂道路?
  • 2025年山东省省赛数模竞赛C题完整论文+代码分享
  • 【动态导通电阻】GaN HEMT动态导通电阻的精确测量
  • 罗杰斯高频板技术解析:低损耗基材如何定义 5G 通信未来
  • tauri2项目使用tauri-plugin-updater配置更新程序流程
  • 如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?
  • VsCode和AI的前端使用体验:分别使用了Copilot、通义灵码、iflyCode和Trae
  • iOS音视频解封装分析
  • Spring Batch学习,和Spring Cloud Stream区别
  • MySQL面试知识点详解
  • 计算机图形学基础--Games101笔记(一)数学基础与光栅化
  • 生产级编排AI工作流套件:Flyte全面使用指南 — Core concepts Launch plans
  • 非受控组件在 React 中如何进行状态更新?
  • 好用的拓客APP有哪些?
  • C#学习第23天:面向对象设计模式
  • 基于WISE30sec制作中国1km分辨率土壤属性栅格数据(20种属性/0-200cm深度分层)
  • Flask框架搭建
  • 信号灯和旋钮在接地电阻柜内的作用主要包括以下几个方面
  • 吴恩达 Deep Learning(1-36)ppt逐行理解
  • React中使用openLayer画地图
  • 【大模型面试每日一题】Day 20:大模型出现“幻觉”(Hallucination)的可能原因有哪些?如何从数据或训练层面缓解?