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

关于如何本地启动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表达式定时执行
在这里插入图片描述

相关文章:

  • 华三H3C交换机配置NTP时钟步骤 示例
  • Oc语言学习 —— 重点内容总结与拓展(上)
  • 【Linux】Shell脚本中向文件中写日志,以及日志文件大小、数量管理
  • Spring 框架中适配器模式的五大典型应用场景
  • 职业院校物联网安装调试员(工业数智技术)实训解决方案
  • LeetCode 746 使用最小花费爬楼梯
  • matlab求解问题
  • Java注解详解:从入门到实战应用篇
  • Redisson分布式锁-锁的可重入、可重试、WatchDog超时续约、multLock联锁(一文全讲透,超详细!!!)
  • Qt窗口中消除边框的解决方法
  • HarmonyOS 开发之 —— 合理使用动画与转场
  • 【第七节】ESP32-S3 霍尔传感器应用实战:磁场检测与蜂鸣器控制
  • 消息扩散--tarjan缩点
  • 反转链表链表数据结构oj题(206)
  • 【未完】【GNN笔记】EvolveGCN:Evolving Graph Convolutional Networks for Dynamics Graphs
  • 测试:TestCafe - 判断按钮是否活性化
  • 【Elasticsearch】flattened`类型在查询嵌套数组时可能返回不准确结果的情况
  • 电子电路仿真实验教学平台重磅上线!——深圳航天科技创新研究院倾力打造,助力高校教学数字化转型
  • 产品经理如何做好需求管理
  • 国产三维CAD皇冠CAD(CrownCAD)建模教程:插接箱
  • 多个“首次”!上市公司重大资产重组新规落地
  • 温州通报“一母亲殴打女儿致其死亡”:嫌犯已被刑拘
  • 杨文庄当选中国人口学会会长,曾任国家卫健委人口家庭司司长
  • 香港根据《维护国家安全条例》订立附属法例
  • 季子文化与江南文化的根脉探寻与融合
  • 浙江省机电集团党委书记、董事长廉俊接受审查调查