自建XXL-JOB调度平台教程

2024-05-12 16:36
文章标签 平台 教程 调度 xxl job 自建

本文主要是介绍自建XXL-JOB调度平台教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、XXL-JOB简介

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。它支持通过Web界面进行管理调度任务,包括任务的增删改查、执行状态监控等。同时,XXL-JOB提供了Java、Spring Boot等多种接入方式,方便开发者在现有项目中集成。

二、环境准备

操作系统:Linux或Windows。
Java环境:Java 8 或更高版本。
Maven:用于构建项目。
数据库:MySQL 5.7+,用于存储调度任务的元数据。

三、步骤详解

3.1 下载与安装

  • 下载源码

  • 构建项目:进入项目根目录,使用Maven构建项目。
   cd xxl-jobmvn clean install -Dmaven.test.skip=true

3.2 配置数据库

  • 导入SQL脚本:在xxl-job/doc/db/目录下找到tables_xxl_job.sql,将其导入到你的MySQL数据库中。

  • 修改配置文件:打开xxl-job-admin/src/main/resources/application.properties,配置数据库连接信息。
   spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=truespring.datasource.username=rootspring.datasource.password=your_password

3.3 启动Admin服务

  • 启动Admin:进入xxl-job-admin模块的target目录,执行jar包。
   cd xxl-job/xxl-job-admin/targetjava -jar xxl-job-admin-2.4.2-SNAPSHOT.jar
  • 访问Admin界面:默认情况下,XXL-JOB Admin的Web界面可以通过http://localhost:8080/xxl-job-admin访问。
  1. 用户名:admin
  2. 密码:123456 

3.4项目中使用xxl-job

  • 在配置文件中添加xxl-job配置 
xxl.job.accessToken=default_token
xxl.job.admin.addresses=http://192.168.140.195:8080/xxl-job-admin
xxl.job.executor.appname=reptile
xxl.job.executor.ip=
xxl.job.executor.address=
xxl.job.executor.port=9999
xxl.job.executor.logPath=/works/serv/reptile/logs/xxl-job
xxl.job.executor.logRetentionDays=30

3.4pom文件引入依赖

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

3.5创建配置文件

package com.example.reptile.utils;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;@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;}
}

3.6编写定时任务

package com.example.reptile.xxlJob;import com.example.reptile.csdn.UrlCrawBokeh;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.io.IOException;
import java.util.Date;@Component
public class xxlJobTest {@AutowiredUrlCrawBokeh urlCrawBokeh;@XxlJob("xxlJobTest")public String xxlJobTest() {System.out.println("xxl-job-------- xxlJobTest定时任务执行成功---------- ");try {urlCrawBokeh.Crawling();} catch (IOException e) {throw new RuntimeException(e);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println("定时任务调度完成:"+new Date());return "success";}
}

3.7进入调度中心面板

  • 创建执行器,配置执行器名称

  •  创建定时任务

  • 执行任务

  • 执行结果 

四、总结

通过以上步骤,你可以成功搭建并使用XXL-JOB进行分布式任务调度。XXL-JOB以其灵活的配置、强大的功能和良好的社区支持,成为众多开发者的选择。随着实际应用的深入,不断探索其高级特性和最佳实践,将能更高效地管理复杂的任务调度场景。

这篇关于自建XXL-JOB调度平台教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983152

相关文章

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

MySQL 5.7彻底卸载与重新安装保姆级教程(附常见问题解决)

《MySQL5.7彻底卸载与重新安装保姆级教程(附常见问题解决)》:本文主要介绍MySQL5.7彻底卸载与重新安装保姆级教程的相关资料,步骤包括停止服务、卸载程序、删除文件和注册表项、清理环境... 目录一、彻底卸载旧版本mysql(核心步骤)二、MySQL 5.7重新安装与配置三、常见问题解决总结废话不多

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.