XXL-JOB 任务调度平台实践
创始人
2024-05-25 10:29:52
0

XXL-JOB 任务调度平台实践

  • 一、调度中心(服务端)
    • 1、从gitbub 获取项目源码:[https://github.com/xuxueli/xxl-job](https://github.com/xuxueli/xxl-job)
    • 2、从源码中得到SQL脚本创建和初始化数据库
    • 3、Maven 编译打包 xxl-job-admin 并部署为调度中心
    • 4、启动运行 xxl-job-admin,并访问 http://localhost:8080/xxl-job-admin
  • 二、开发XXL-JOB执行器(客户端)
    • 1、创建一个新项目(New Module)
    • 2、配置任务调度中心
      • ①新增执行器:
      • ②新增任务管理:
      • ③查看调度日记

连接视频

一、调度中心(服务端)

1、从gitbub 获取项目源码:https://github.com/xuxueli/xxl-job

在这里插入图片描述

在这里插入图片描述

修改 xxl-job项目的配置文件【application.properties】,修改数据库连接为自己的数据库,修改发送邮件配置

### xxl-job, access token #设置访问xxl-job的token设值
xxl.job.accessToken=123456

2、从源码中得到SQL脚本创建和初始化数据库

sql文件位置:
在这里插入图片描述

在这里插入图片描述

3、Maven 编译打包 xxl-job-admin 并部署为调度中心

4、启动运行 xxl-job-admin,并访问 http://localhost:8080/xxl-job-admin

默认用户名:admin 密码:123456

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、开发XXL-JOB执行器(客户端)

1、创建一个新项目(New Module)

在这里插入图片描述

客户端(spring-xxl-job)

pom.xml文件


4.0.0com.zzpspring-xxl-job1.0.0war88com.xuxuelixxl-job-core2.2.0org.springframeworkspring-webmvc5.2.6.RELEASE

拷贝xxl-job-executor.properties配置文件在在resources目录下【参考xxl-job-executor-samples目录下的xxl-job-executor-sample-spring项目的xxl-job-executor.properties配置文件】

xxl-job-executor.properties文件

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
# 连接哪个服务中心
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin ### xxl-job, access token
# 和服务端设置的配置accessToken保持一致
xxl.job.accessToken=123456### xxl-job executor appname
# 执行器的名字
xxl.job.executor.appname=spring-xxl-job
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
# 执行器的地址
xxl.job.executor.address=
### xxl-job executor server-info
# 执行器的ip(客户端的ip)
xxl.job.executor.ip=127.0.0.1
# 执行器的端口(客户端的端口)
xxl.job.executor.port=9999
### xxl-job executor log-path
# 日记存储地址
xxl.job.executor.logpath=F:/xxl-job/log
### xxl-job executor log-retention-days
# 日记存储有效天数
xxl.job.executor.logretentiondays=30

在resources目录下添加applicationContext.xml配置文件【参考xxl-job-executor-samples目录下的xxl-job-executor-sample-spring项目的applicationcontext-xxl-job.xml配置文件】

applicationContext.xml文件


classpath*:xxl-job-executor.properties

在这里插入图片描述

创建MyJobHandler类【参考xxl-job-executor-samples目录下的xxl-job-executor-sample-spring项目的SampleXxlJob.java类】

MyJobHandler.java

package com.zzp.executor;import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.stereotype.Component;import java.text.SimpleDateFormat;
import java.util.Date;/*** 此类就是真正的定时任务业务处理类(Bean模式)** 也就是真正的定时任务功能逻辑在此类中完成(比如:定时对账,定时发送短信,定时清理)** 开发步骤:*  1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT execute(String param)"*  2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。*  3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;**/
@Component
public class MyJobHandler {private  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/*** 1、简单任务示例(Bean模式)*/@XxlJob(value = "myJobHandler")public ReturnT myJobHandler(String param) throws Exception {//在改方法里面编写真正的定时任务功能逻辑 比如:定时对账,定时发送短信,定时清理XxlJobLogger.log("XXL-JOB, myJobHandler start:" + sdf.format(new Date()));XxlJobLogger.log("XXL-JOB, myJobHandler param:" + param);return ReturnT.SUCCESS;}}

因为spring-xxl-job是web项目,需要web【拷贝xxl-job-executor-samples目录下的xxl-job-executor-sample-spring项目的web文件夹】

修改web.xml配置文件


spring-xxl-jobwebAppRootKeyspring-xxl-jobcontextConfigLocationclasspath*:applicationContext.xmlorg.springframework.web.context.ContextLoaderListenerindex.html

在这里插入图片描述

打包:
在这里插入图片描述
在这里插入图片描述

使用Tomcat启动spring-xxl-job项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

浏览器访问:

在这里插入图片描述

2、配置任务调度中心

①新增执行器:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②新增任务管理:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

启动任务

在这里插入图片描述
在这里插入图片描述

③查看调度日记

在这里插入图片描述
这里失败,因为在执行器设值错误了

在这里插入图片描述

执行成功日记:

在这里插入图片描述

文件日记输出:

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...