Java任务调度框架之分布式调度框架XXL-Job介绍及快速入门
调度器使用场景:
Java开发中经常会使用到定时任务:比如每月1号凌晨生成上个月的账单、比如每天凌晨1点对上一天的数据进行对账操作,在比如每天凌晨5点给180天未登陆过的用户发送邮件提醒等等。定时任务在我们开发中也占有很重要的部分。
Java实现定时任务有很多方式:
1.JDK自带的定时器实现,即java.util.TimerTask类
2.使用Quartz定时器来实现
3.使用spring相关的任务调度。自spring 3.0+以后,spring自带的任务调度,主要依靠TaskScheduler接口的十几个实现来来实现的
4.spring结合quartz实现的
5.配合linux的crontabe来实现
等等其他的。
在这里凯哥介绍一个分布式任务调度框架-XXL-Job。作者:许雪里。代码现在已经开源了。
xxl-job介绍:
先来看下目前最新版本v2.1.0的架构图:
再来看看在git上的stars:
再来看下xxl-job的发展:
我们先来看看官方介绍:
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
快速入门
源码下载:
在git上下载源码(因平台限制,凯哥就不贴git地址了),使用到的git命令:git clone。
下载后,将代码导入到idea中。
环境要求:
Maven 3+
jdk1.7+
mysql5.7+
先来看看项目结构:
初始化sql脚本
在/xxl-job/doc/db/tables_xxl_job.sql是sql脚本文件。
sql初始化错误解决
在sql脚本导入的时候,有可能会遇到如下错误:
可以参考如下文章进行修改:
sql脚本执行之后,可以看到有以下6张表了。
任务调度中心的配置
在XXL-Job所有项目中,任务调度中心就是源码中的xxl-job-admin这个工程。我们需要修改这个工程中信息成为自己的。
修改admin配置文件
文件地址:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties
1:修改数据库信息
2:如果需要邮件的话可以配置成自己的。其他项根据需求进行修改即可
部署调度中心项目
因为admin项目是spring boot项目,所以,我们直接run:XxlJobAdminApplication即可。文件位置如下图:
启动项目后,在浏览器中输入:127.0.0.1:8080/xxl-job-admin
默认的用户名及密码->用户名:admin 密码:123456
登陆之后,出现如下图的界面:
菜单说明:
运行报表:如上图。是调度器运行情况报表
任务管理:定时任务管理列表
调度日志:运行日志记录
执行器管理:
先配置执行器,然后在任务管理中,新增任务管理,启动任务之后,就可以在调度日志中,查看到运行结果了。
在下一篇中,我们将介绍怎么在spring boot项目中集成xxl-job使用教程。欢迎大家一起学习。
本文来源:凯哥Java(kaigejava)
相关推荐
XXL-JOB分布式任务调度系统是当前 Java 生态中的一种流行的分布式任务调度系统。它提供了多种功能特性,如支持 cron 表达式、支持多种任务类型、支持任务优先级、支持任务依赖关系等。XXL-JOB 的核心思想是将任务...
基于Java核心的xxl-job分布式任务调度平台是为了解决在分布式系统环境下任务调度的需求而设计的,其源代码已经向公众开放。该平台源代码结构丰富,涉及不同类型的文件,其中包括Java源文件、图片、脚本文件、配置...
1. **分布式任务调度**:XXL-JOB作为一个分布式任务调度框架,能够帮助开发者管理和执行分布式任务,支持定时、周期性、一次性等多种任务类型。 2. **Spring Boot集成**:由于通常Java应用的jar包运行方式,XXL-JOB...
XXL-JOB是一个轻量级的分布式任务调度平台,它主要解决了传统调度工具如Quartz在实际使用中遇到的问题,提供了更加便捷、高效且可扩展的解决方案。该平台的设计目标是快速开发、易于学习、轻量级且具备良好的扩展性...
- **任务定义**:在执行器项目中编写具体的任务逻辑,通常以Spring Bean的形式存在,可以通过@XxlJob注解来定义任务。 - **任务调用**:调度中心通过HTTP或RPC方式调用执行器上的任务,任务执行的结果会反馈回调度...
总结一下,XXL-JOB是一个功能强大的分布式任务调度框架,2.3.0版本可能引入了新的特性和改进。通过解压"xxl-job-2.3.0.rar",我们可以获取到源码、文档等资源,帮助我们更好地利用这个工具,解决大规模任务调度问题...
XXL-JOB框架的设计源码为开发者提供了一个灵活的分布式调度解决方案,能够支持任务的集群管理和调度,实现任务的高可用性和伸缩性。框架的调度机制包括任务分发、执行监控、日志记录等功能,为分布式系统中的定时...
基于Java的分布式任务调度平台XXL-JOB设计源码项目是一个轻量级的分布式任务调度框架,其核心实现是用Java语言编写的。该框架广泛应用于需要高度可扩展性和灵活性的任务调度场景,能够满足企业级应用中对于任务调度...
在当今快速发展的信息技术领域,分布式任务调度已经成为处理大规模、高并发业务的关键技术之一。分布式任务调度系统能够将复杂的任务按照预定策略分布在不同的计算节点上执行,有效提升了任务处理的效率和系统的伸缩...
分布式任务调度平台XXL-JOB是一款广泛应用于企业级服务中的高效、易用、稳定的任务调度框架,它能够帮助开发者实现复杂的工作流控制,为大型分布式系统提供强大的定时任务管理能力。XXL-JOB以其轻量级的设计、丰富的...
XXL-JOB的源码设计包含了Java开发中的多种技术和设计模式,它是构建在Spring框架之上的,结合了Java生态中的各种技术,如Spring MVC、Spring Boot、MyBatis等,构成了一个功能完善、易于使用且性能稳定的分布式任务...
XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 1.2 特性 1、简单:支持通过Web页面对任务进行CRUD操作,...
4. **编写执行器代码**:创建一个继承自`com.xxl.job.core.handler.annotation.XxlJob`的Java类,使用`@XxlJob`注解来定义任务。在这个类中,你可以使用MyBatis来操作数据库,执行业务逻辑。 5. **注册执行器**:在...
XXL-JOB是由许雪里开发的一款轻量级分布式任务调度框架,其源码分析项目基于Java核心技术。XXL-JOB框架的设计初衷是为了提供一个高效、可靠且易于使用的分布式任务调度系统。框架的核心特点包括了分布式任务调度和...
xxl-job是一款轻量级分布式任务调度框架,其主要特点在于高可用、高性能、易于集成和丰富的扩展功能。Java作为该项目的主要开发语言,确保了系统的稳定性和跨平台性。JavaScript脚本的运用则为前端交互提供了灵活性...
XXL-JOB是一款开源的任务调度框架,由Java编写,它为分布式任务调度提供了一套解决方案。这个"最新版xxl-job任务调度文件"压缩包很可能包含了该框架的源码、配置文件、文档以及示例项目,帮助开发者快速理解和使用...
【标题】"dataX+xxl-job+openjdk11+默认执行器+python" 提供了一种基于Java和Python的分布式任务调度解决方案,结合了dataX数据同步工具、XXL-JOB任务调度框架以及OpenJDK 11运行环境。这个组合用于实现高效的数据...
XXL-JOB,一个分布式任务调度框架。 介绍 XXL-JOB是一个分布式任务调度框架。 它的核心设计目标是快速发展,学习简单,轻巧且易于扩展的内容。 现在,它已经是开源的,许多公司在生产环境中使用它,真正的“开箱即...
XXL-JOB是一个分布式任务调度平台,主要由两部分组成:调度中心(XXL-JOB-ADMIN)和执行器(XXL-JOB-EXECUTOR)。它以Java开发,旨在简化大规模系统的任务调度工作,提供了易用的Web界面,用于管理和监控调度任务。...
xxl-job-core文件夹应当包含了系统的框架代码,是整个分布式任务调度平台的基石。而xxl-job-executor-samples则提供了针对不同业务场景的执行器示例,帮助开发者了解如何将平台应用于实际的业务中。这样的设计既保证...