Elastic-Job的快速入门,三分钟带你体验分布式定时任务
文章目录
- 首先我们需要了解ElasticJob 是什么?
- 看看他们两个有什么区别?
- 我们需要准备的环境:
- 快速开始
- 第一步,创建一个maven项目并导入jar包
- 第二步,创建一个myjob类继承simplejob类
- 第三步,创建一个JobDemo启动类
- 第四步,启动本地的zookeeper
- 第五步,启动jobdemo
首先我们需要了解ElasticJob 是什么?
ElasticJob是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目
ElasticJob-Lite
和ElasticJob-Cloud
组成。
它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业生态。
它的各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。
看看他们两个有什么区别?
我们这次要讲的就是lite版本的
我们需要准备的环境:
jdk + zookeeper + maven
快速开始
大家也可以直接去我的代码仓库拉下来直接运行:
https://gitee.com/WangFuGui-Ma/elastic-job-quickstart
第一步,创建一个maven项目并导入jar包
<dependencies><dependency><groupId>com.dangdang</groupId><artifactId>elastic-job-lite-core</artifactId><version>2.1.5</version></dependency></dependencies>
第二步,创建一个myjob类继承simplejob类
public class MyJob implements SimpleJob {public void execute(ShardingContext shardingContext) {System.out.println("定时任务开始执行了"+ new Date());}
}
第三步,创建一个JobDemo启动类
public class JobDemo {public static void main(String[] args) {new JobScheduler(createRegistryCenter(), createJobConfiguration()).init();}private static LiteJobConfiguration createJobConfiguration() {//创建作业配置JobCoreConfiguration demoSimpleJob = JobCoreConfiguration.newBuilder("demoSimpleJob", "0/3 * * * * ?", 1).build();SimpleJobConfiguration simpleJobConfiguration = new SimpleJobConfiguration(demoSimpleJob, MyJob.class.getCanonicalName());return LiteJobConfiguration.newBuilder(simpleJobConfiguration).build();}private static CoordinatorRegistryCenter createRegistryCenter() {ZookeeperConfiguration zkConfig = new ZookeeperConfiguration("localhost:2181", "elasticJob");zkConfig.setSessionTimeoutMilliseconds(100);CoordinatorRegistryCenter elasticJob = new ZookeeperRegistryCenter(zkConfig);elasticJob.init();return elasticJob;}}
第四步,启动本地的zookeeper
如果不知道怎么启动和安装的话可以参考我的文章:
https://blog.csdn.net/csdnerM/article/details/121848173
第五步,启动jobdemo
控制台就会开始打印啦!!恭喜你完成了Elastic-Job的快速入门!!
Elastic-Job的快速入门,三分钟带你体验分布式定时任务相关推荐
- 三分钟带你读懂 BERT
本文为 AI 研习社编译的技术博客,原标题 : BERT Technology introduced in 3-minutes 作者 | Suleiman Khan, Ph.D. 翻译 | 胡瑛皓.s ...
- mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区
原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...
- sql语言和php,SQL语言快速入门(三)_php
我们日常使用SQL语言的工作过程中,使用最多的还是从已经建立好的数据库中查询信息.下面,我们就来详细介绍一下如何使用SQL语言实现各种数据库查询操作. SELECT-FROM 为方便讲解,我们在数据库 ...
- 三分钟带你看懂prototype原型——ES6进阶
三分钟带你看懂prototype原型--ES6进阶 1. prototype 定义 2. new 构造函数 3. 存储 4. prototype 作用 1. prototype 定义 在JS中的类的实 ...
- 三分钟带你弄懂slot插槽——vue进阶
文章目录 三分钟带你弄懂slot插槽--vue进阶 一.概述 程序员之死 什么是 slot插槽? 2.6.0 版本中的 slot 二.具名插槽 例子 效果图 代码 三.小惊喜 三分钟带你弄懂slot插 ...
- 三分钟带你看懂HDMI接口的PCB设计
三分钟带你看懂HDMI接口的PCB设计 本文主要讲解的是HDMI的设计,包括作用和运用的总结,希望大家看了以后能轻松的应对各种HDMI方案的PCB设计. 一.什么是HDMI? 高清晰度多媒体接口(英文 ...
- 建网站的最简单方法(三分钟带后台)
建网站的最简单方法(三分钟带后台) 准备材料 服务器或者本地环境 安装过程 准备材料 织梦二次开发模板或者Ecshop二次开发模板等(我以织梦为例讲解) 如果是本地需要下载ComsenzEXP或者Wa ...
- 三分钟带你了解不一样的场效应管
目前市场上的场效应管主要分为两种,但不论是哪种,场效应管都具有功耗低噪声小,而且不会出现二次击穿的特点,这让其成为替代晶体管的最佳产品.随着场效应管应用面积的扩大,对场效应管的选择和检查也成为了设计者 ...
- 三分钟带你弄懂GFS(Google File System)
提示:预计阅读时间三分钟,该文章仅对GFS做了一的简略介绍,细节方面建议阅读原文. 文章目录 前言 一.GFS是什么? 1.1 简单介绍 1.2 我们为什么需要阅读GFS的论文? 1.3 GFS论文对 ...
最新文章
- 安装mysql_python的适合遇到mysql_config not found解决方案(mac)
- MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)
- 转 Debugging AutoCAD 2017 using Visual Studio 2015
- Ubuntu下Android编译环境的配置
- 设计模式的C语言应用-访问者模式-第九章
- 我和EDAS这两年——阿里巴巴入职两年的小结
- 乌班图vim怎么编译c语言,在Ubuntu上利用vim进行程序编写及运行
- 【尚硅谷】JavaScript基础实战丨JS入门到精通_01-06
- 国内AGV机器人厂家数目统计及区域分布分析
- sge中的windows选项
- 中国五大城市PM2.5数据分析
- 华住集团股权曝光:季琦持股30.5% 雅高不再是股东
- C++产生随机数字最全教程
- Python与数学——使用Processing绘制高次方程图像
- matlab 火柴人_小波分析检测信号奇异点matlab代码
- 超级计算机运算中心,中国科学技术大学超级计算中心
- 播放index.m3u8切片文件显示为直播问题
- C语言计算BMI值,一看就会
- 5分钟成为车联网专家 | 全球首个C-V2X车联网城市级规模示范应用
- Kibana启动常见报错信息的解决方案
热门文章
- STM32F407-高级定时器PWM输入功能
- 酶抑制剂靶点预测:药物靶点评估/药效团筛选定制
- 论文解读:《一种基于长短期记忆网络深度学习的药物靶相互作用预测方法》
- 刘韧:好记者到故事为止
- 【常见c语言笔试题嵌入式软件开发2】
- Qt6教程之三(3) QtWedget自定义控件
- java 素数的判断
- Java中使用JSON数据传递
- matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...
- Stata: 因变量是类别变量时采用什么方法估计?