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 的核心思想是将任务...
1. **分布式任务调度**:XXL-JOB作为一个分布式任务调度框架,能够帮助开发者管理和执行分布式任务,支持定时、周期性、一次性等多种任务类型。 2. **Spring Boot集成**:由于通常Java应用的jar包运行方式,XXL-JOB...
XXL-JOB是一个轻量级的分布式任务调度平台,它主要解决了传统调度工具如Quartz在实际使用中遇到的问题,提供了更加便捷、高效且可扩展的解决方案。该平台的设计目标是快速开发、易于学习、轻量级且具备良好的扩展性...
- **任务定义**:在执行器项目中编写具体的任务逻辑,通常以Spring Bean的形式存在,可以通过@XxlJob注解来定义任务。 - **任务调用**:调度中心通过HTTP或RPC方式调用执行器上的任务,任务执行的结果会反馈回调度...
本项目为基于Java核心的XXL-JOB分布式任务调度框架设计源码,集成了多种编程语言,包括JavaScript、CSS和HTML。项目文件共计293个,涵盖126个Java源文件、36个PNG图片、33个JavaScript文件、25个XML配置文件、12个...
总结一下,XXL-JOB是一个功能强大的分布式任务调度框架,2.3.0版本可能引入了新的特性和改进。通过解压"xxl-job-2.3.0.rar",我们可以获取到源码、文档等资源,帮助我们更好地利用这个工具,解决大规模任务调度问题...
分布式任务调度平台XXL-JOB是一款广泛应用于企业级服务中的高效、易用、稳定的任务调度框架,它能够帮助开发者实现复杂的工作流控制,为大型分布式系统提供强大的定时任务管理能力。XXL-JOB以其轻量级的设计、丰富的...
XXL-Job是一个轻量级的分布式任务调度框架,它提供了Web界面进行任务管理和监控,支持任务的分布式执行,同时具备任务失败重试、告警、日志查询等功能。该框架的核心组件包括调度中心(Scheduler Center)和执行器...
XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 1.2 特性 1、简单:支持通过Web页面对任务进行CRUD操作,...
该项目是轻量级分布式任务调度框架XXL-JOB的Java实现设计源码,包含293个文件,涵盖126个Java源文件、33个JavaScript文件、25个XML配置文件、12个CSS样式文件、11个HTML模板文件、9个属性配置文件以及其他类型文件,...
该项目是一款基于Java构建的轻量级分布式任务调度框架XXL-JOB,源码总文件量为293个,涵盖了126个Java源文件、36个PNG图片文件、33个JavaScript文件、25个XML配置文件、12个CSS样式文件、11个FreeMarker模板文件、9...
该项目为基于Java核心技术的轻量级分布式任务调度框架XXL-JOB的设计源码,包含304个文件,涵盖136个Java源文件、36个PNG图片文件、33个JavaScript文件、27个XML配置文件、12个CSS样式文件、11个FreeMarker模板文件、...
4. **编写执行器代码**:创建一个继承自`com.xxl.job.core.handler.annotation.XxlJob`的Java类,使用`@XxlJob`注解来定义任务。在这个类中,你可以使用MyBatis来操作数据库,执行业务逻辑。 5. **注册执行器**:在...
该项目是采用Java语言编写的XXL-JOB分布式任务调度框架设计源码,共包含304个文件,涵盖了136个Java源文件、36个PNG图片文件、33个JavaScript文件、27个XML文件、12个CSS文件、11个Freemarker模板文件、9个属性文件...
本项目为轻量级Java分布式任务调度平台XXL-JOB的设计源码,包含306个文件,涉及137个Java源文件、36个PNG图片、34个JavaScript文件、27个XML配置文件、12个CSS样式文件、11个FTL模板文件、9个属性文件、3个Markdown...
XXL-JOB,一个分布式任务调度框架。 介绍 XXL-JOB是一个分布式任务调度框架。 它的核心设计目标是快速发展,学习简单,轻巧且易于扩展的内容。 现在,它已经是开源的,许多公司在生产环境中使用它,真正的“开箱即...
【标题】"dataX+xxl-job+openjdk11+默认执行器+python" 提供了一种基于Java和Python的分布式任务调度解决方案,结合了dataX数据同步工具、XXL-JOB任务调度框架以及OpenJDK 11运行环境。这个组合用于实现高效的数据...
XXL-JOB是一个分布式任务调度平台,主要由两部分组成:调度中心(XXL-JOB-ADMIN)和执行器(XXL-JOB-EXECUTOR)。它以Java开发,旨在简化大规模系统的任务调度工作,提供了易用的Web界面,用于管理和监控调度任务。...
在这个"xxuxueli0323-xxl-job-master.zip"压缩包中,包含的是XXL-JOB的一个实际运行示例,已经整合了SpringBoot框架,提供了丰富的实例,帮助开发者理解和应用分布式任务调度。 1. **分布式任务调度**: 分布式...
总的来说,XXL-JOB是一个功能强大的分布式任务调度框架,它简化了开发者的任务调度工作,提供了灵活的调度策略和丰富的监控手段,使得任务管理变得更加高效和便捷。通过学习和使用"xxl-job-master"中的源代码,...