xxljob--入门使用

news2024/11/24 15:04:06

1.简介

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

2.下载

网址:xxljob

3. 导入数据库

3.1请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。

“调度数据库初始化SQL脚本” 位置为:

/xxl-job/doc/db/tables_xxl_job.sql

3.2 修改xxl-job-admin项目的配置文件application.properties,把数据库账号密码配置上
3.3 运行XxlJobAdminApplication程序即可.

调度中心访问地址: http://localhost:8080/xxl-job-admin

默认登录账号 “admin/123456”, 如图所示
在这里插入图片描述

4.配置部署执行器项目

4.1创建SpringBoot项目并且添加如下依赖:

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.3.1</version>
</dependency>

4.2 执行器配置

在配置文件中添加如下配置:

### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册""任务结果回调";为空则关闭自动注册;
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### 执行器通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=default_token
### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
xxl.job.executor.appname=xxl-job-executor-sample
### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
xxl.job.executor.address=
### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册""调度中心请求并触发任务";
xxl.job.executor.ip=127.0.0.1
### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.port=9999
### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则,-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=30

4.3 添加执行器配置

创建XxlJobConfig配置对象:

@Configuration
public class XxlJobConfig {
    @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;

        @Bean
        public XxlJobSpringExecutor xxlJobExecutor() {
            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;
        }
}

4.4 添加任务处理类

添加任务处理类,交给Spring容器管理,在处理方法上贴上@XxlJob注解

@Component
public class SimpleXxlJob {
    @XxlJob("demoJobHandler")
    public void demoJobHandler() throws Exception {
        System.out.println("执行定时任务,执行时间:"+new Date());
    }
}

4.5 运行HelloWorld程序

在xxljob管理页面,进行如下操作,点击新增
在这里插入图片描述
在这里插入图片描述
填写相关信息
在这里插入图片描述
这里代表执行时间
在这里插入图片描述
这里填写@xxljob注解内的值
保存后启动任务
在这里插入图片描述
就可以运行了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElasticSearch(九)— 聚集查询2

一、 范围分桶聚集 如果使用 SQL 语言类比&#xff0c;桶型聚集与 SQL 语句中的 group by 子句极为相似。桶型聚集(Bucket Aggregation)是 Elasticsearch 官方对这种聚集的叫法&#xff0c;它起的作用是根据条件对文档进行分组。 可以将这里的桶理解为分组的容器&#xff0c;…

git commit 提交报错

当使用git cimmit -m "XXX" 将暂存区文件提交到仓库区时出现以下错误信息&#xff1a; 原因&#xff1a;开启了 eslint 校验 只要跳过 eslint 校验就可以了&#xff0c;即加 --no-verify 即可解决 git commit --no-verify -m "XXX"

太极图形学——弹性物体仿真 1

1.仿真基础&#xff0c;时间和空间的离散化 渲染对于物体的展现来说是一件很重要的事 但除了渲染之外&#xff0c;还需要物理来控制&#xff0c;形成动画 弹性物体的仿真实际上非常重要&#xff0c;特别是对于头发&#xff0c;衣物的仿真&#xff0c;虚拟手术中软组织的仿真 仿…

JupyterNotebook添加Anaconda中已有的虚拟环境

比如&#xff0c;在Acaconde中存在一个我已经配置好的虚拟环境pose,现在我想在Jupyter中使用它 那么可以使用ipython kernel install --user --name 你要添加的环境 添加到Jupyter中。 对于Jupyter中已有的代码&#xff0c;就可以在Kernel - chanage kernel中改变内核。

大模型+XDR!打开网络安全攻防演练新范式!

网络安全领域面临着日益复杂的挑战&#xff0c;外部攻击与内部安全威胁交织的双重压力。技术革新成为筑牢安全防线的关键&#xff0c;随着新一代技术的崛起&#xff0c;特别是大数据与人工智能的深度融合&#xff0c;引领着网络安全进入全新阶段。 通过构建网络安全大模型&…

批量重命名图片文件名,这几种方法告别手打!

在这个数字化时代&#xff0c;图片已成为我们日常生活和工作中不可或缺的一部分。无论是整理旅行照片、管理项目素材&#xff0c;还是编辑文章配图&#xff0c;图片的管理都显得尤为重要。然而&#xff0c;面对成百上千的图片文件&#xff0c;如果还在逐一手动修改文件名&#…

OpenSNN推文:研究发现,人工智能以牺牲集体多样性为代价提升个人创造力

&#xfeff;&#xfeff; ChatGPT 等生成式 AI 工具的兴起引发了关于它们对创造力和新颖想法产生的影响的争论。 伦敦大学管理学院和埃克塞特大学研究人员开展的一项新研究探索了生成模型对创意写作的影响。该研究考察了获取大型语言模型 (LLM) 生成的故事创意如何影响人类创…

使用 Python 执行 JavaScript

案例引入 网站&#xff1a; https://spa7.scrape.center 这里是一个简单的 NBA 球星的网站&#xff0c; 用卡片形式展示了一些球星的基本信息。另外&#xff0c;每张卡片其实都有一个加密字符串&#xff0c;这个加密字符串其实和球星的信息是由关联的&#xff0c; 并且每个球星…

数据库范式及其示例,看完这一篇足够

1. 什么是数据库规范化&#xff1f; 1.1 规范化概念 规范化是一种数据库设计技术&#xff0c;可减少数据冗余并消除插入、更新和删除异常等不良特征。规范化规则将较大的表划分为较小的表并使用关系链接它们。SQL 中的规范化的目的是消除冗余&#xff08;重复&#xff09;数据…

Java面试题:Spring循环引用(循环依赖)

Spring中的循环引用 在创建A时需要B,创建B时需要A 三级缓存解决循环依赖问题 在Spring中定义了一个类 DefaultSingletonBeanRegistry 中定义了三个map singletonObjects 一级缓存 单例池,存放完整初始化的bean对象 earlySingletonObjects 二级缓存 缓存早期的bean对象…

【JavaEE初阶】CAS(比较和交换)

目录 &#x1f332; 什么是 CAS &#x1f333; CAS的应用 &#x1f6a9; 实现原子类 &#x1f6a9; 实现自旋锁 &#x1f384; CAS 的 ABA 问题 &#x1f6a9; 什么是 ABA 问题 &#x1f6a9; ABA 问题引来的 BUG &#x1f6a9; 解决方案 &#x1f340;CAS相关面试题 …

自动化测试客户端程序 时,选择使用什么自动化测试工具?

自动化测试客户端程序时&#xff0c;可以选择多种自动化测试工具&#xff0c;这些工具根据测试的具体需求、目标平台以及开发语言等因素有所不同。以下是一些常用的自动化测试工具&#xff0c;它们分别适用于不同的测试场景&#xff1a; 1. Appium 简介&#xff1a;Appium是一…

你要动态建表,还要动态导入Excel?

背景 ⭐⭐⭐⭐⭐转载请注明出处:https://juejin.cn/post/7400945359192866828 前几天和公司的小伙伴聊天的时候,得知他们的项目里正要做一个功能。大概就是每家公司都会建一张表,这张表会有什么字段不确定,可能有的表10个字段,有的8个字段。然后会有导入的功能,就是给这张…

java实现解析pdf格式发票

为了减少用户工作量及误操作的可能性&#xff0c;需要实现用户上传PDF格式的发票&#xff0c;系统通过解析PDF文件获取发票内容&#xff0c;并直接将其写入表单。以下文章记录了功能实现的代码。 发票样式 发票内容解析 引用Maven 使用pdfbox <dependency><groupI…

API可观察性对于现代应用程序的最大好处

API可观察性是提升性能、加速问题诊断和增强安全的关键。它在理解和管理错综复杂的API交互方面发挥着至关重要的作用。利用API可观察性&#xff0c;您可以深入洞察API的工作状态&#xff0c;保障服务的可靠性&#xff0c;并优化用户体验。 在当今的数字环境中&#xff0c;API …

kubernetes集群部署sql server数据库服务

背景&#xff1a; 因业务上线需要&#xff0c;研发中心要求在kubernetes测试集群部署一个sql server 2017的数据库&#xff0c;用于业务功能调试。 一、实施部署sql server数据库&#xff1a; 1、拉取sql server 2017的镜像&#xff1a; [rootharbor-02 ~]# docker pull mcr…

POI导出复杂Excel表格

记录在遇到复杂统计报表业务时&#xff0c;无法使用Excel模板生成对应报表&#xff0c;则采用最原始poi方式进行创建生成 业务所需统计报表如下图 麻烦所在各类型订单下方餐别为动态数据&#xff0c;废话不多说直接上代码 new CellRangeAddress(起始行号, 终止行号, 起始列号,…

Android Studio 设置打开layout.xml文件的默认视图split

Android Studio 设置打开layout.xml文件的默认视图 Android Studio 设置打开layout.xml文件的默认视图 androd studio 在使用的时候打开我们自己的布局文件默认展示的视图为Design,我们想要编辑的时候还有手动切换成splite 视图或者Code视图&#xff0c;不上很方便&#xff0c…

CA证书和openssl介绍

文章目录 一、加密和算法常见的安全攻击加密算法和协议对称加密非对称加密算法 二、CA和证书中间人攻击CA和证书安全协议SSL/TLS协议介绍HTTPS 三、opensslopenssl介绍使用openssl实现对称加密使用openssl命令生成加密密码生成随机密码建立私有CA证书申请颁发建立私有CA实际例子…

Java-数据库基本概念

数据库DataBase 定义: 保存一组数据的仓库就是数据库 例 BirdBoot项目中&#xff0c;我们为了保存一组用户信息&#xff0c;创建了一个目录users。里面用若干个文件保存每一个用户信息 此时users目录就可以称为是一个数据库 只不过对于这些数据的维护操作&#xff0c;要么…