网站建设可行性的分析,公司网站设计思路,中国建筑网官网招工平台,寻花问柳一家只做属于男人的网站1 前言
XXL-JOB 是一个轻量级分布式任务调度平台#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线#xff0c;开箱即用。
可以前往 Gitee 地址进行下载使用#xff1a;
https://gitee.com/xuxueli0323/xxl-job.g…1 前言
XXL-JOB 是一个轻量级分布式任务调度平台其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线开箱即用。
可以前往 Gitee 地址进行下载使用
https://gitee.com/xuxueli0323/xxl-job.git 2 架构图 3 xxl-job-admin 搭建 3.1 拉取代码
代码结构如下 运行 SQL 文件至本地数据库 修改 xxl-job-admin 模块的 yml 文件 3.2 启动任务调度中心
如下图 浏览器访问默认地址http://localhost:8080/xxl-job-admin 账号admin 密码123456 初始状态下。
3.3 登录成功 如下图 到此为止第一阶段 xxl-job-admin 模块的部署就完成啦。 4 整合 SpringBoot 项目
此部分官方已经给出具体案例我们只需对赶方案例进行整合或修改即可。 接下来就是如何整合到自己的 SpringBoot 项目中。
4.1 引入 maven 依赖
如下图 注意此处版本要与 xxl-job-admin 中版本保持一致。
4.2 引入配置类
如下图 只需引入 XxlJobConfig 配置类即可其他配置类为该项目其他配置类与此无关 可以直接从拉取的项目中复制过来无需任何修改复制此类到你的项目中即可 Configuration
public class XxlJobConfig {private Logger logger LoggerFactory.getLogger(XxlJobConfig.class);Value(${xxl.job.admin.addresses})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;Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info( xxl-job config init.);XxlJobSpringExecutor xxlJobSpringExecutor new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}/*** 针对多网卡、容器内部署等情况可借助 spring-cloud-commons 提供的 InetUtils 组件灵活定制注册IP** 1、引入依赖* dependency* groupIdorg.springframework.cloud/groupId* artifactIdspring-cloud-commons/artifactId* version${version}/version* /dependency** 2、配置文件或者容器启动变量* spring.cloud.inetutils.preferred-networks: xxx.xxx.xxx.** 3、获取IP* String ip_ inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();*/}
4.3 修改 yml 配置文件
代码如下
xxl:job:admin:# 调度中心部署跟地址 [选填]如调度中心集群部署存在多个地址则用逗号分隔。# 执行器将会使用该地址进行执行器心跳注册和任务结果回调为空则关闭自动注册addresses: http://127.0.0.1:8086/xxl-job-admin# 执行器通讯TOKEN [选填]非空时启用accessToken:executor:# 执行器AppName [选填]执行器心跳注册分组依据为空则关闭自动注册appname: xxl-job-executor-mileage# 执行器注册 [选填]优先使用该配置作为注册地址为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。#从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。address:# 执行器IP [选填]默认为空表示自动获取IP多网卡时可手动设置指定IP该IP不会绑定Host仅作为通讯实用# 地址信息用于 执行器注册 和 调度中心请求并触发任务ip:# 执行器端口号 [选填]小于等于0则自动获取默认端口为9999单机部署多个执行器时注意要配置不同执行器端口port: 8088# 执行器运行日志文件存储磁盘路径 [选填] 需要对该路径拥有读写权限为空则使用默认路径logpath: /data/applogs/xxl-job/jobhandler# 执行器日志文件保存天数 [选填] 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能logretentiondays: 30
logging:config: classpath:logback.xml 4.4 编写测试类
代码如下
Component
public class MileageXxlJob {private static Logger logger LoggerFactory.getLogger(SampleXxlJob.class);/*** 1、简单任务示例Bean模式*/XxlJob(mileageJobHandler)public void mileageJobHandler() throws Exception {XxlJobHelper.log(XXL-JOB, Hello World.);for (int i 0; i 5; i) {XxlJobHelper.log(beat at: i);System.out.println(ok);TimeUnit.SECONDS.sleep(2);}// default success}
} 4.5 项目目录 编写完成后启动服务注意启动顺序先启动 xxl-job-admin 模块再启动您的 springboot 服务
4.6 任务调度中心配置服务
① 新增执行器 ②新增任务 ③执行任务 注测试选择执行一次即可如需项目保持运行选择启动。 ④ 查看运行结果 到此XXL-JOB 与 SpringBoot 的简单整合入门教程就完成了感谢您的查阅