SpringBoot2 集成 xxl-job任务调度中心

阅读 187

2022-09-07


接上一篇:
搭建xxl-job任务调度中心

文章目录

  • ​​一、SpringBoot 配置​​
  • ​​1. maven依赖​​
  • ​​2. 执行器配置 application.yml​​
  • ​​3. 执行器组件配置​​
  • ​​4. 部署执行器项目​​
  • ​​二、xxl-job任务调度中心​​
  • ​​2.1. 执行器管理​​
  • ​​2.2. 任务管理​​
  • ​​三、Springboot创建任务​​
  • ​​3.1. 创建任务​​
  • ​​四、xxl-job任务调度中心​​
  • ​​4.1. 查看执行器是否注册成功​​
  • ​​4.2. 执行任务​​
  • ​​4.3. 执行任务失败​​
  • ​​4.4. 修改执行器ip​​
  • ​​4.5. 再次执行任务​​
  • ​​4.6. 频次执行​​
一、SpringBoot 配置

Github地址
​​​https://www.xuxueli.com/xxl-job/​​

1. maven依赖

<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>

2. 执行器配置 application.yml

server:
port: 80

xxl:
job:
admin:
addresses: http://192.168.43.119:8080/xxl-job-admin/
executor:
appname: xxl-job-executor-sample
logpath: H:/data/applogs/xxl-job/jobhandler
logretentiondays: 30
# 具体解释见Github文档

3. 执行器组件配置

package com.gblfy.distributedjob.config;

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 final static Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appname;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;

@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
// xxlJobSpringExecutor.setIp(ip);
// xxlJobSpringExecutor.setPort(port);
// xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}

4. 部署执行器项目

SpringBoot2 集成 xxl-job任务调度中心_spring


SpringBoot2 集成 xxl-job任务调度中心_maven_02


至此“执行器”项目已经部署结束。

二、xxl-job任务调度中心

搭建xxl-job任务调度中心

2.1. 执行器管理

Springboot项目(执行器)启动后,连接xxl-job任务调度中心会有延迟,需要等一会

【执行器管理】-【查看】可以清楚地看到自己的外网ip地址

注:默认显示

SpringBoot2 集成 xxl-job任务调度中心_maven_03

2.2. 任务管理

【任务管理】-【新增】

JobHandler用来连接任务类的标识,自定义即可

SpringBoot2 集成 xxl-job任务调度中心_任务调度_04


SpringBoot2 集成 xxl-job任务调度中心_maven_05

三、Springboot创建任务
3.1. 创建任务

package com.gblfy.distributedjob.task;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component
public class TaskExecute {

private final static Logger logger = LoggerFactory.getLogger(TaskExecute.class);


@XxlJob("myJobHandler")
public void execute() {
// 获取参数
String param = XxlJobHelper.getJobParam();

//控制台输出日志
logger.info("myXxlJobHandler execute...");

//写日志到调度中心日志中
XxlJobHelper.log("myXxlJobHandler execute...");

// 设置任务结果
XxlJobHelper.handleSuccess();
}
}

SpringBoot2 集成 xxl-job任务调度中心_任务调度_06


SpringBoot2 集成 xxl-job任务调度中心_maven_07

四、xxl-job任务调度中心
4.1. 查看执行器是否注册成功

SpringBoot2 集成 xxl-job任务调度中心_任务调度_08

4.2. 执行任务

SpringBoot2 集成 xxl-job任务调度中心_任务调度_09


SpringBoot2 集成 xxl-job任务调度中心_任务调度_10

4.3. 执行任务失败

控制台没有输出

SpringBoot2 集成 xxl-job任务调度中心_maven_11


查看任务执行日志

SpringBoot2 集成 xxl-job任务调度中心_任务调度_12


SpringBoot2 集成 xxl-job任务调度中心_spring_13


SpringBoot2 集成 xxl-job任务调度中心_maven_14


发现了,ip(169.254.118.15)居然是公网的,我的ip应该是192.168.43.147

SpringBoot2 集成 xxl-job任务调度中心_maven_15

4.4. 修改执行器ip

SpringBoot2 集成 xxl-job任务调度中心_maven_16


SpringBoot2 集成 xxl-job任务调度中心_spring_17


SpringBoot2 集成 xxl-job任务调度中心_spring_18

4.5. 再次执行任务

SpringBoot2 集成 xxl-job任务调度中心_maven_19

SpringBoot2 集成 xxl-job任务调度中心_任务调度_20


控制台输出

SpringBoot2 集成 xxl-job任务调度中心_maven_21


执行日志

SpringBoot2 集成 xxl-job任务调度中心_spring_22

4.6. 频次执行

SpringBoot2 集成 xxl-job任务调度中心_任务调度_23


SpringBoot2 集成 xxl-job任务调度中心_maven_24


SpringBoot2 集成 xxl-job任务调度中心_maven_25


精彩评论(0)

0 0 举报