XXL定时任务:通过具体案例xxljob本地化布置与测试(持续更新不同案例)_xxl-job本地配置
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1.1注册任务,添加一个改动字段的job,简单的业务方法如下
1.2管理页面配置job执行器,调度类型这里因为只是手动执行一次,不选也无妨
早已听闻XxllJob定时任务的大名,今天自己到本地测试下
1.git 拉取代码库到本地
2.回车,下载好后用Idea打开,从这个目录打开
3.初始化数据库
执行数据库脚本,地址在包中这个位置
4.修改配置文件中数据库的配置信息,换成自己的
5.启动项目,右键运行此文件
6.项目成功启动后,访问网址,进入管理页面
调度中心访问地址:http://localhost:8080/xxl-job-admin
默认登录账号 “admin/123456”
7.逃不掉的 Hello World
核心配置:
com.xuxueli
xxl-job-core
2.3.1
可以另外找个项目,进行测试,配置信息如下
- 新建springboot项目步骤
xxl.job.accessToken=default_token
xxl.job.admin.address=http://127.0.0.1:8080/xxl-job-admin
xxl.job.executor.address=
xxl.job.executor.appname=jpbhandel
xxl.job.executor.ip=#本机ip地址
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
xxl.job.executor.logretentiondays=30
xxl.job.executor.port=9998
配置分析
xxl.job.accessToken
:XXL-JOB 的访问令牌,用于鉴权验证,默认为 default_token。xxl.job.admin.address
:XXL-JOB Admin 的地址,即任务调度中心的访问地址,例如 http://172.19.6.66:8080/xxl-job-admin。(中间的ip为启动xxljob-admin项目的机器ip)")xxl.job.executor.address
:执行器的地址,即当前执行器机器的 IP 地址+端口号,例如 192.168.166.6:9998。如果不填写则会自动获取当前执行器机器的 IP 地址和默认端口号。(也就是当前启动的个人项目机器ip)xxl.job.executor.appname
:执行器的应用名称,用于在任务调度中心进行区分,例如 jpbhandel。xxl.job.executor.ip
:执行器的 IP 地址,如果不填写则会自动获取当前执行器机器的 IP 地址。xxl.job.executor.logpath
:执行器的日志路径,指定执行器日志的存储路径,例如 /data/applogs/xxl-job/jobhandler。xxl.job.executor.logretentiondays
:执行器的日志保留天数,指定执行器日志的保留天数,超过指定天数的日志将被清理,默认为 30 天。xxl.job.executor.port
:执行器的端口号,指定执行器监听的端口号,默认为 9998。
8.XxlJob配置类,固定的直接用
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import com.xxl.job.core.util.IpUtil;
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.address}")
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;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setAddress(address);
xxlJobSpringExecutor.setIp(IpUtil.getIp());
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}
9.测试任务类
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;
import java.time.LocalDateTime;
@Component
public class AssetsTask {
private static Logger logger = LoggerFactory.getLogger(AssetsTask.class);
@XxlJob("testJobHandler")
public void demoJobHandler() throws Exception{
XxlJobHelper.log("XXL_JOB,run successfully.");
System.out.println("XXL_JOB:Hello WOrld." + LocalDateTime.now());
}
}
10.启动当前项目,出现这种提示说明链接成功
11.添加执行器
(1)调度中心选择,appname对应的是配置文件中的属性,选择自动注册,地址就不用手动填了
(2).点击保存后,刷新页面,显示添加成功
12.添加任务,这里选择spring bean 方式,jobHandler 就是方法注册的bean名称,其他信息正常填写
13.执行测试,可以选择执行一次,则立即触发,或者选择启动,但是需要根据自己配制的cron表达式触发。控制台可以看到成功打印了信息
基础操作就这些了,后面可以看官方文档再玩玩
后续
2023.12.4-----更新一波带参数的定时任务操作方法
1.1在原有代码上的改动,多了一个job参数获取
1.2管理页面的改动,这两个位置在哪里改都可以,1这里的机器地址因为是勾选了自动注册的所以不用填写
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
片转存中…(img-8UIbd4mr-1715892551962)]
[外链图片转存中…(img-EivkeAmQ-1715892551962)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
更多推荐
所有评论(0)