一、前言

废话就不多说了,介绍Xxl-Job的网上已经有很多,本文就不多加复制粘贴了,直接步入第二步。(PS:本文包括Xxl-Job分布式定时任务调度中心的搭建,以及SpringBoot集成XxlJob的全过程。如果不想了解搭建的小伙伴可以直接调到第三步。)

二、Xxl-Job分布式定时任务调度中心搭建

2.1 下载

源码地址:https://github.com/xuxueli/xxl-job
我使用的2.3.0版本的,这是目前最新的版本。

下载好后,我们使用IDEA打开,可以看到如图的几个模块:

其中xxl-job-admin是我们的后台管理系统,这也是我们主要查看xxl-job日志的地方;xxl-job-core则是核心core文件,我们项目中导入依赖就主要导入这个文件;最后是xxl-job-executor-samples这里放了各个不同版本执行器的源码。

2.2 数据库配置

打开至/xxl-job/doc/db目录下,可以看到xxl-job需要的一些数据库初始化脚本。

我们需要在我们的数据库运行一下这些sql文件,运行完成后,会产生如下的库与对应的表

2.3 修改配置文件

此处需要修改xxl-job-admin项目下的application.properties文件,主要是修改数据库相关配置:

将此处修改为自己的数据库配置即可。其他配置根据自己需要更改。顺带一句,笔者此处还将端口8080改为了9080。

2.4 启动项目

此时我们准备工作已经做完,直接启动XxlJobAdminApplication项目即可。
注意:此处启动如果是Mac的用户可能会报错,错误信息如:

这里只需要将xxl-job/xxl-job-admin/src/main/resources目录下的logback.xml文件中的

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

修改为:

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

即可。

2.5 访问

在浏览器输入:http://127.0.0.1:9080/xxl-job-admin 即可成功访问。
用户密码分别为:admin/123456
登陆成功后可以看到此页面即为搭建成功。

三、SpringBoot集成Xxl-Job

3.1 导入依赖

 <dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${xxl-job.version}</version></dependency>

3.2 添加配置文件

xxl:job:admin:# xxl-job后台管理界面的地址addresses: http://127.0.0.1:8080/xxl-job-adminexecutor:# 此执行器的名称appname: first-study# 此执行器的端口port: 38801# 此执行器的日志存放路径logpath: logs/xxl-job/first-study# 此执行器的日志保存时间logretentiondays: 7

3.3 添加配置类

XxlJobProperties:

@Configuration
@Data
public class XxlJobProperties {@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;
}

BeanConfig:

@Configuration
@RequiredArgsConstructor
public class BeanConfig {private final XxlJobProperties xxlJobProperties;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses());xxlJobSpringExecutor.setAppname(xxlJobProperties.getAppname());
//        xxlJobSpringExecutor.setAddress(address);
//        xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(xxlJobProperties.getPort());
//        xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(xxlJobProperties.getLogPath());xxlJobSpringExecutor.setLogRetentionDays(xxlJobProperties.getLogRetentionDays());return xxlJobSpringExecutor;}
}

并在启动类上添加注解@EnableScheduling。

3.4 添加xxl-job测试

@Slf4j
@Component
@RequiredArgsConstructor
public class XxlJobTest {@XxlJob("xxlJobTest")public ReturnT<String> xxlJobTest(String date) {log.info("---------xxlJobTest定时任务执行成功--------");return ReturnT.SUCCESS;}}

3.5 xxl-job-admin添加执行器

回到 http://127.0.0.1:9080/xxl-job-admin/ 界面。
点击执行器管理 -> 新增

此处的AppName填你项目中配置的xxl.job.executor.appname名称。选择自动注册,保存即可。

3.6 添加任务

点击任务管理 -> 点击执行器下拉框

选择刚刚添加的执行器,然后点击“新增”按钮,新增任务:

注意,此处的JobHandler填@XxlJob注解后面的值。填好点击保存即可。就可以看到我们已经有一条任务了,此时点击“操作”,然后点击“启动”,定时任务就运行了。笔者这里是每分钟运行一次。

3.7 测试

此时启动我们的测试项目,会发现打印的启动日志已经注册到xxl-job。然后就能看到已经成功执行定时任务并打印日志。

到此,搭建到集成整个流程就完毕了。当然xxl-job远不止这点功能,对其他扩展信息感兴趣的小伙伴可以自行上网搜索,也可以访问Xxl-Job官方文档:https://www.xuxueli.com/xxl-job/

SpringBoot集成XxlJob分布式任务调度中心(超详细之手把手教学)相关推荐

  1. springboot集成XXL-JOB分布式任务调度平台

    一.使用背景 目前许多项目使用的都是微服务架构,中间存在许多的定时任务.但如果定时任务维护在每个微服务下,当微服务部署多个实例的情况下,会出现定事任务多次执行的情况.并且在解决问题的基础上,希望能够实 ...

  2. xxl-job分布式任务调度中心部署实践(1)

    文章目录 前言 环境说明 一.xxl-job是什么? 二.使用步骤 1.下载源码 2.工程介绍 3.xxl-job-admin配置 3.1 初始化数据库 3.2 修改xxl-job-admin配置 3 ...

  3. SpringBoot集成flyway、mybatis-plus(超详细)

    拿到一个新需求,要给一个开发中的项目集成flyway进行数据库版本控制,对于flyway没有什么了解,就得先搭建一个demo练习一下,先知道怎么用,再集成到老项目上: 一.新建SpringBoot项目 ...

  4. SpringBoot集成xxl-job分布式定时任务

    一.xxl-job定时任务搭建 下面这篇文章介绍了xxl-job平台搭建过程https://blog.csdn.net/xrq1995/article/details/126282290 二.spri ...

  5. 分布式任务调度中心xxl-job

    xxl-job 分布式任务调度中心优点 xxl-job简介 部署调度中心 执行器的配置 任务配置 分布式任务调度中心优点 1.多台机器集群部署保证定时任务不被重复执行 2.动态的调整定时任务的执行时间 ...

  6. python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...

    SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台 一.概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源 ...

  7. springboot 集成xxl-job 定时任务管理平台

    项目集成xxl-job https://github.com/nlxs0511/springmybatisplus.git 项目集成邮件      https://github.com/nlxs051 ...

  8. SpringBoot的Web开发支持【超详细【一篇搞定】果断收藏系列】

    SpringBoot的Web开发支持 常用的服务器配置 使用Jetty服务器替换Tomcat 排除Tomcat的启动器,引入Jetty application.yml 编写入口程序 编写Control ...

  9. springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题

    springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配 ...

最新文章

  1. 模型部署神器:高中生也能读懂的Docker入门教程
  2. tomcat更换服务器后无法显示验证码
  3. 仓位 001 998 AUFNAHME不存在(L9009)
  4. boost::quick_exit相关的测试程序
  5. php mysql 编码为utf-8_php连mysql用 utf-8编码乱码怎么办
  6. 深度理解java jvm,深度理解JVM
  7. Golang——文件创建和写入、OpenFile追加写入、Open读取文件、ReadBytes缓冲区读取、os.Args、flag
  8. linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
  9. 陈式心意混元太极拳功要
  10. 编译器各个步骤的介绍
  11. boost::serialization 用基类指针转存派生类(错误多多,一波三折)
  12. oracle12c linux安装教程
  13. 阿佐数据分析python小抄【pandas基础数据处理】
  14. 进销存excel_干货分享,上班族必看。EXCEL轻松搞定制作进销存报表
  15. C语言 输出正三角形图形
  16. 时域OCT与频域OCT的区别
  17. Premiere Pro CS6自学所需的视频编辑基础(一)
  18. Access数据库偏移注入
  19. 使用Ballerina构建API网关
  20. html如何使表单在页面居中显示,html怎样将表单居中

热门文章

  1. 360官网上下载不同版本的浏览器
  2. SpringBoot整合Jedis
  3. 三、oracle之DML语句
  4. Redis面试题总结
  5. 前置机与虚拟服务器,前置机跟服务器的关系
  6. Hololens2眼镜视角内关闭CPU框与空间网格
  7. 男孩女孩 --- 《心 语》
  8. QVector用法详细介绍
  9. 计算机毕业设计之java+springboot基于vue的篮球竞赛预约平台
  10. 【轻松学数据结构】动图剖析数据结构中的线性结构(六千字超详细教程,附源码)