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

分布式定时任务Xxl_Job详细使用手册

看了很多网上的版本,思路描述的都不是很清晰,都只是几步操作就完成了,看效果,导致容易走入弯路(不排除是自己理解能力把),最开始以为是把admin模块集成到项目,后来测试了会,才明确是服务模块,无代码侵入,直接引用,少了很多思路明确分析,所以记录一下心得,方便后续上手

官方下载地址最新版:https://www.xuxueli.com/xxl-job/
下载项目结构示例图

在这里插入图片描述

下载项目结构如图所示,其实主要是启动admin模块

思路:类似于服务端。运行思路就是引入xxl-job-core包到需要的项目,配置好过后,就可以注册到admin服务中,通过自带的页面就可以看到对应定时任务

接下来开始操作:

第一步:在xxl-job-admin中配置自己的数据库

​ 导入sql文件: ./doc/db/tables_xxl_job.sql 到数据库

​ 有需要或者想尝试配置邮件接收异常信息可以配置 spring.mail.**

​ logback.xml中间改变日志配置路径,(可以自定义路径)

<property name="log.path" value="./logs/xxl-job-admin.log"/>

​ 就可以启动admin模块了,访问http://192.168.0.177:8080/xxl-job-admin 即可看到页面

​ 默认用户名 :admin 密码: 123456

在这里插入图片描述

第二步: 配置客户端

​ 引入jar包

        <dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>最新版本</version></dependency>

​ 上配置:

xxl:job:admin:addresses: http://192.168.0.177:8080/xxl-job-admin   #服务器启动的 服务地址accessToken: default_tokenexecutor:# 执行器的应用名称appname: xxlJobTest# 执行器注册 [选填]:优先使用该配置作为注册地址address:# 执行器IP [选填]:默认为空表示自动获取IPip:# 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999port: 8081# 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;logpath: E:\\www\\ffw\\log#logpath: /data/logs/mls/job# 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;logretentiondays: 30

服务注入配置

@Configuration  //是否开启xxl-job定时任务,注释掉 //@Configuration 则不开启定时任务
@Data
@Slf4j
public class XxlJobConfig {@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() {XxlJobHelper.log(">>>>>>>>>>> xxl-job config init.>>>>>>>>>>>");System.out.println("=============== 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;}}

编写测试用例

@Slf4j
@Component
public class XxlJobTest{@XxlJob(value = "xxlJobTest")public void xxlJobTest() {System.out.println("---------xxlJobTest定时任务执行成功--------");}
}

启动项目即可完成,看着一下表示启动成功
在这里插入图片描述

第三步:测试用例

​ 手动创建,选择bean注入模式

在这里插入图片描述

接下来就可以执行一次,看看效果

在这里插入图片描述

http://www.lryc.cn/news/271686.html

相关文章:

  • 【PostgreSQL】表操作-修改表
  • 【Java系列】文件操作详解
  • docker-compose 安装 RocketMq
  • 【心得】PHP反序列化高级利用(phar|session)个人笔记
  • MyBatisPlus之增删改查
  • pytorch03:transforms常见数据增强操作
  • blob文件流前端显示pdf
  • Android 接入第三方数数科技平台
  • LVM和磁盘配额
  • uni-app uni-app内置组件
  • C语言——格式说明符前面加修饰符
  • 实验室(检验科)信息系统LIS源码,客户端:WPF+Windows Forms
  • 有道翻译web端 爬虫, js
  • uni-app API接口扩展组件(uni-ui)
  • 信息化和数字化的本质区别是什么?
  • 发表《Nature》!美国研究团队发布可编程逻辑量子处理器
  • CISSP 第1章:实现安全治理的原则和策略
  • 【并发设计模式】聊聊线程本地存储模式如何实现的线程安全
  • 边缘计算网关:重新定义物联网数据处理
  • Linux之下载安装
  • 【HarmonyOS开发】案例-记账本开发
  • webrtc中的接口代理框架
  • 【AIGC-图片生成视频系列-4】DreamTuner:单张图像足以进行主题驱动生成
  • Jupyter Notebook的10个常用扩展介绍
  • uniapp项目如何引用安卓原生aar插件(避坑指南三)
  • YOLOv8改进 | 检测头篇 | ASFF改进YOLOv8检测头(全网首发)
  • 思维训练-怎样设计一个MQ
  • RK3399平台入门到精通系列讲解(导读篇)21天挑战Linux系统开发
  • 企业微信会话存档sdk报错:A fatal error has been detected by the Java Runtime Environment
  • nginx-docker 搭建websocket反向代理