1,下载自己需要的版本
1,https://github.com/xuxueli/xxl-job
2,https://gitee.com/xuxueli0323/xxl-job/releases (墙内推荐)
3,墙内网络推荐使用第二个地址,笔者下 2.2.0 版本
2,整合到自己的项目
将下载好的项目中 xxl-job-admin 拷贝到自己的 springcloud 项目中
创建相应的数据库并执行脚本:xxl-job\doc\db\tables_xxl_job.sql
1,修改 pom 文件依赖
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.3.5.RELEASE
com.hwq
sc-xxl-job-admin
1.0.0
jar
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-freemarker
org.springframework.boot
spring-boot-starter-mail
org.springframework.boot
spring-boot-starter-actuator
mysql
mysql-connector-java
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.1
com.xuxueli
xxl-job-core
2.2.0
org.springframework.boot
spring-boot-starter-test
test
sc-xxl-job-admin
org.springframework.boot
spring-boot-maven-plugin
2,修改配置文件参考
application.yml
server:
# 端口
port: 1081
# Servlet 访问项目名
servlet:
context-path: /xxl-job-admin
spring:
mvc:
servlet:
# 加载 DispatcherServlet 的启动优先级
load-on-startup: 0
# 接管的静态资源路由规则
static-path-pattern: /static/**
resources:
# 静态资源路径
static-locations: classpath:/static/
freemarker:
# 模板地址
template-loader-path: classpath:/templates/
# 模板后缀
suffix: .ftl
# 字符编码
charset: UTF-8
# HTTP 请求对象的对象名称
request-context-attribute: request
settings:
number_format: 0.##########
# 数据源
datasource:
url: jdbc:mysql://192.168.200.100:3306/xxljob
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 920619
# 邮件配置
mail:
host: smtp.163.com
port: 25
username: 17600909499@163.com
password: FYZOEDLNWIHRBTQY
mybatis:
# XML 映射地址
mapper-locations: classpath:/mybatis-mapper/*Mapper.xml
xxl:
job:
# 鉴权值
accessToken: huangweiqiang
# 语言包: zh_CN 中文、zh_TC 台湾、en 英文
i18n: zh_CN
# 触发池最大值
triggerpool:
fast:
max: 200
slow:
max: 100
# 日志保留日(单位:天)
logretentiondays: 30
健康检查
management:
server:
servlet:
context-path: /actuator
health:
mail:
enabled: false
3,运行,访问
1,访问地址:192.168.200.100:1081/xxl-job-admin
2,默认的账号密码:admin/123456
3,执行器配置
pom 依赖
com.xuxueli
xxl-job-core
配置文件
xxl:
job:
admin:
# 调度中心服务端地址
addresses: http://127.0.0.1:1081/xxl-job-admin
# 鉴权值
accessToken: huangweiqiang
executor:
# 执行器的名称
appname: ${spring.application.name}
# 执行器的 IP
ip: ${spring.cloud.client.ip-address}
# 执行器的 端口
port: 2121
# 执行器日志的保存路径
logpath: ${user.dir}/z-file/logging/${spring.application.name}/job
# 执行日志的保存时间
logretentiondays: 30
在方法上添加 @XxlJob 注解就变成了执行器
package com.hwq.admin.back.executor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hwq.common.model.dto.TestDTO;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class TestExecutor {
@Autowired
private ObjectMapper objectMapper;
@XxlJob("test/test1")
public ReturnT test1(String param) throws JsonProcessingException {
TestDTO testDTO = objectMapper.readValue(param, TestDTO.class);
System.out.println(testDTO);
return new ReturnT<>(ReturnT.SUCCESS_CODE, "调度执行成功");
}
@XxlJob("test/test2")
public ReturnT test2(String param) throws JsonProcessingException {
TestDTO testDTO = objectMapper.readValue(param, TestDTO.class);
System.out.println(testDTO);
return new ReturnT<>(ReturnT.SUCCESS_CODE, "调度执行成功");
}
}
4,页面配置
1,添加执行器
2,添加任务
3,配置串行任务的思路
在日常开发中,我们的调度所需的数据来源可能会依赖另一个调度的结果,这是我们一般会采取两种解解决方式:
1,估算依赖调度的执行时间,将调度时间配置到依赖调度执行完成后的时间
2,将调度作为依赖调度的子任务,配置串行任务
从上图的配置我们可以看出,xxl-job 是支持配置串行任务的
具体配置思路:将一个调度作为另一个调度的子任务,任意填写一个 cron,然后状态设置为停止Original: https://www.cnblogs.com/lovling/p/14172667.html
Author: 被遗忘的优雅
Title: springboot2 xxl-job 调度中心
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541037/
转载文章受原作者版权保护。转载请注明原作者出处!