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)

 

Java任务调度框架之分布式调度框架XXL-Job介绍的更多相关文章

  1. 详解应对平台高并发的分布式调度框架TBSchedule

    转载: 详解应对平台高并发的分布式调度框架TBSchedule

  2. 分布式调度框架TBSchedule使用方法

    一.TBSchedule简介 TBSchedule是来自淘宝的分布式调度开源框架,基于Zookeeper纯Java实现,其目的是让一种批量任务或者不断变化的任务,能够被动态的分配到多个主机的JVM中的 ...

  3. RPC框架与分布式服务框架的区别

    第一:RPC框架是点对点的通信方式,即服务消费者与服务提供者是点对点通信 第二:分布式服务框架,不近具有RPC框架的特性,同时,还包括以下特性: 1.提供多台服务器提供服务,具有负载均衡策略 2.服务 ...

  4. 深入理解分布式调度框架TBSchedule及源码分析

    简介 由于最近工作比较忙,前前后后花了两个月的时间把TBSchedule的源码翻了个底朝天.关于TBSchedule的使用,网上也有很多参考资料,这里不做过多的阐述.本文着重介绍TBSchedule的 ...

  5. Java线程池管理及分布式Hadoop调度框架搭建

    平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头. 怎么做一套简便的线程开发模 ...

  6. 5个强大的Java分布式缓存框架推荐

    在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的 缓存策略,那么到时候重构起来将会是一个噩梦.本文主要是分享了 ...

  7. Java分布式缓存框架

    http://developer.51cto.com/art/201411/457423.htm 在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓 ...

  8. 5个强大的Java分布式缓存框架

    在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦.本文主要是分享了5 ...

  9. Dubbo阿里Alibaba开源的分布式服务框架

    [获奖公布]"我的2016"主题征文活动    程序猿全指南,让[移动开发]更简单!      [观点]移动原生App开发和HTML 5开发,你更看好哪个?   博客的神秘功能 D ...

随机推荐

  1. springboot学习2 整合mybatis

    springboot整合mybatis 一.添加mybatis和数据库连接的依赖 <!--整合mybatis--> <dependency> <groupId>or ...

  2. 数据库之存储过程Procedure

    数据库之存储过程 一.概述 SQLserver中视图通过简单的select查询来解决复杂的查询,但是视图不能提供业务逻辑功能,而存储过程可以办到. 二.什么是存储过程 存储过程procedure是一组 ...

  3. UE手游如何应对CPU帧率瓶颈和卡顿?

    如何高效准确详细的对性能进行剖析?腾讯游戏学院专家Leonn将归纳总结在UE下对每一性能指标的剖析方法,本文重点讲解如何应对CPU帧率瓶颈和卡顿? CPU上帧率低和卡顿是性能优化中最易出现的一部分,尤 ...

  4. Short Essay你真的会写了吗?

    提到short essay(可能其他essay也一样),很多同学都很头疼.“没有思路?不知从何下笔?没有亮点?”等等,这些都是同学们的致命伤,因此,short essay就成为了广大留学生的“送命题” ...

  5. 实验4&5

    [实验任务四]: 在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码. 1.程序设计思想 先利用Math.random()得到一个整数,然后将其类型转换为字符类型,连接起来生成六位验证字符串 ...

  6. XML--XML Schema Definition(二)

    参考 http://www.w3school.com.cn/schema/index.asp XSD 简易元素 XML Schema 可定义 XML 文件的元素. 简易元素指那些只包含文本的元素.它不 ...

  7. ORACLE常见问题收集

    1.Java代码执行oracle,update和insert语句卡住不动 解决方法:造成这样的情况原因在于你之前执行了update或insert操作但你并没有commit,导致你操作的这条记录被ora ...

  8. Java基础知识点简记

    此篇主要记录(搬运)的是Java中一些常见概念的理解,大致内容如下 final.finally.finalize的区别 Java的传值或者传引用的理解 重写Override和重载Overload的理解 ...

  9. 吴裕雄--天生自然 JAVASCRIPT开发学习:测试 jQuery

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. rust 使用国内镜像,快速安装方法

    前言 众所周知的,国内由于防火墙的原因,访问国外的网络比较慢. 如果直接按照rust官网的安装方式安装非常容易失败,即使不失败也非常非常慢 如果用国内的镜像则可以分分钟就搞定 官方安装方法 文档: h ...