接上一篇:
搭建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. 部署执行器项目
至此“执行器”项目已经部署结束。
二、xxl-job任务调度中心
搭建xxl-job任务调度中心
2.1. 执行器管理
Springboot项目(执行器)启动后,连接xxl-job任务调度中心会有延迟,需要等一会
【执行器管理】-【查看】可以清楚地看到自己的外网ip地址
注:默认显示无
2.2. 任务管理
【任务管理】-【新增】
JobHandler用来连接任务类的标识,自定义即可
三、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();
}
}
四、xxl-job任务调度中心
4.1. 查看执行器是否注册成功
4.2. 执行任务
4.3. 执行任务失败
控制台没有输出
查看任务执行日志
发现了,ip(169.254.118.15)居然是公网的,我的ip应该是192.168.43.147
4.4. 修改执行器ip
4.5. 再次执行任务
控制台输出
执行日志
4.6. 频次执行