系列文章目录

第一章 - 分布式定时任务框架ElasticJob之JavaApi整合Simple作业
第二章 - 分布式定时任务框架ElasticJob之JavaApi整合DataflowJob作业
第三章 - 分布式定时任务框架ElasticJob之Spring框架整合SimpleJob作业
第四章 - 分布式定时任务框架ElasticJob之Spring框架整合DataflowJob作业
第五章 -分布式定时任务框架ElasticJob之SpringBoot整合SimpleJob作业(实战二)

文章目录

  • 系列文章目录
  • 前言
  • 一、新建Spring-Boot项目
  • 二、编写ZooKeeper中心配置类
  • 三.ZooKeeper中心自动配置
  • 总结

前言

ElasticJob定时任务框架,目前应用于各企业的项目中,大都是与springboot项目进行整合使用的,本篇博文将详细说明springboot项目如何与ElasticJob进行整合,按这篇博文进行操作,可用于工作之中,由于内容较多,分为两个小章节记录,完整代码会放在第二个章节,好了废话不多说,开肝


一、新建Spring-Boot项目



注:配置完maven后如报了以下错误:

请看另一篇博文:解决方法
如果没有遇到异常,继续以下操作。
在maven仓库中查询ElasticJob需要的依赖,搜索elastic-job,选择2.1.5版本,这是最新的版本



将依赖复制到pom.xml文件中,在整合ElasticJob时会引用到这些依赖包

二、编写ZooKeeper中心配置类

我们需要实现的效果是在application-properties配置文件中,输入zookeeper相关属性时,应用程序可以主动初始化,如何实现整个starter, 类似于spring自动注册数据源,输入spring就有很多提示信息出来


接下来我们要编写Zookeeper属性配置类

点击右上角的提示Open documentation…会进入官方提示文档,我们在编写配置属性类时需要引入这个依赖,将这串依赖复制到pom.xml文件中。


配置属性类编写完后,双击右侧install,构建maven

我们再次在application.properties配置文件输入elasticjob可以自动提示了

然后我们在配置文件,写入zookeeper需要的属性

三.ZooKeeper中心自动配置

新建一个zookeeper注册中心自动装配类,效果是当我们在application.properties配置文件设置属性值时,就会自动去执行它下面的配置

然后我们在这个类里面,写上注册中心初始化的方法,当项目启动时,这个方法就会被执行,在此之前我们需要将ZookeeperProperties这个类注入进来,需要注意的是,在注入之前,要写上@EnableConfigurationProperties(ZookeeperProperties.class)注解,否则项目启动时会报注入失败异常。

注入ZookeeperProperties

@Autowired(required = true)
private ZookeeperProperties zookeeperProperties;

zookeeper注册中心初始化

/*** @description 注册中心初始化* @param* @author ckwu* @return* @date 2022-10-07 21:51*/@Bean(initMethod = "init")public CoordinatorRegistryCenter zkCenter() {// 获取地址列表String serverList = zookeeperProperties.getServerList();// 获取命名空间String namespace = zookeeperProperties.getNamespace();ZookeeperConfiguration zc = new ZookeeperConfiguration(serverList, namespace);CoordinatorRegistryCenter crc = new ZookeeperRegistryCenter(zc);return crc;}

以上配置完,就可以正常启动项目了,但是自动装配类这么写会被项目启动类扫描到,但官方文档不建议我们这么做,因此我们将这个包移出去,让启动类扫描不到:

将包移出到启动类扫描不到的位置后,还需要在resources目录下新建资源文件夹META-INF,然后在这个文件夹下新建文件spring.factories,文件内容如下:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.autoconfig.ZookeeperAutoConfig
  • 这样做的目的地是让项目启动时,spring帮我们找到这个自动装配的文件,使配置方法生效
  • 最后debug测试,配置类方法运行成功,且获取到了注册中心的配置


总结

这篇文章介绍了新建一个springboot项目,并且自动装配一个自动配置类,为了接下来整合SimpleJob做的准备工作,因为SimpleJob定时任务运行是依赖于Zookeeper注册中心的。

2022-10-08更新,springboot整合simpleJob作业已在
第五章 -分布式定时任务框架ElasticJob之SpringBoot整合SimpleJob作业(实战二)完善,有详细操做流程

第五章 - 分布式定时任务框架ElasticJob之SpringBoot整合SimpleJob作业(实战一)相关推荐

  1. 分布式定时任务框架Elastic-Job的使用

    为什么80%的码农都做不了架构师?>>>    一.前言 Elastic-Job是一个优秀的分布式作业调度框架. Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项 ...

  2. 分布式调度框架 elastic-job 实践详解(超详细)

    虽然 Quartz 也可以通过集群方式来保证服务高可用,但是它也有一个的弊端,那就是服务节点数量的增加,并不能提升任务的执行效率,即不能实现水平扩展! 之所以产生这样的结果,是因为 Quartz 在分 ...

  3. 墨客网java_墨客网-知识拆解+经典定时任务案例 精讲Java定时任务框架Elastic-Job和Quartz...

    课程介绍 精讲Elastic-job + Quartz实现企业级定时任务 掌握分布式集群方式的定时任务框架,可以弥补企业中常用的单点任务的缺点,以更高的性能更好的稳定性处理分布式定时任务服务:本课程带 ...

  4. 第五章-分布式并行编程框架MapReduce

    第五章-分布式并行编程框架MapReduce 文章目录 第五章-分布式并行编程框架MapReduce MapReduce概述 分布式并行编程 MapReduce模型和函数 MapReduce体系结构 ...

  5. 全云化架构(十一):分布式定时任务框架对比

    分布式定时任务框架对比 把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式.叫做分布式定时任务. 常见的分布式定时任务平台有elastic-job , ...

  6. java定时任务框架elasticjob详解

    这篇文章主要介绍了java定时任务框架elasticjob详解,Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.该项目基于成熟的开源产品Quartz和Zo ...

  7. 分布式调度框架Elastic-Job和xxl-job区别

    分布式调度框架Elastic-Job和xxl-job区别还是比较明显的,首先明确一下共同点,即它们俩共同解决的问题是什么? 一.解决传统定时任务存在的问题: 1.业务耦合 : 如果需要修改定时任务时间 ...

  8. 分布式作业调度框架——Elastic-Job

    分布式作业调度框架--Elastic-Job 1.概述 Elastic-Job是当当开源的分布式弹性作业框架.Elastic-Job分为lite和cloud两个相对独立的版本,lite版为轻量级去中心 ...

  9. 轻量级分布式定时任务框架XXL-Job

    轻量级分布式定时任务框架XXL-Job: XXL-JOB是一款轻量级的分布式定时任务框架,上手简单,操作容易,XXL-Job可以到官网下载也可以去gitee上拉取源码,其中核心模块分页两个:1:是分布 ...

最新文章

  1. 使用嵌套的Repeater控件显示分级数据
  2. orakill和alter system kill session的区别
  3. 解决安装kali 2020.1版本后的中文乱码问题:只需要安装中文字体(而不需要像之前版本那样需要选择locales和编码)。
  4. python爬虫需要什么知识-学习Python爬虫技术,需要掌握哪些web端的知识?
  5. 工作35:理解自定义组件
  6. 导师没项目怎么办?不如看看这些
  7. 用css sprites(图像拼合技术)优化css加快网站速度[转]
  8. @程序员,你的技术过气了吗?
  9. 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
  10. java中substring的使用方法
  11. JCTF Writeup
  12. logo字体设计心法
  13. 2021年人工智能学习路线图分享
  14. LWC 61:741. Cherry Pickup
  15. Rhythmbox中mp3中文乱码解决
  16. 青岛大学计算机考研率高吗,学院2015届毕业生考研率再创新高
  17. 基于车辆运动学模型的LQR横向控制算法
  18. 配置使用consol口和网线登录交换机
  19. 今日头条推广入门必懂知识简介
  20. 2 snippets vue 修改配置_自动化配置vscode的snippets

热门文章

  1. 计算机组成原理开题报告范文,计算机组成原理精品课程平台的设计与实现开题报告.doc...
  2. 看板管理概述(zt)
  3. php做一个详情页面,微信小程序实现头条新闻详情页图文显示功能的实例详解
  4. MP地面站二次开发教程(三)Mavlink通讯协议(4)地面站数据显示调试及其指令填充
  5. 我长这么好看,首先要感谢我父母
  6. 使用mapinfo软件的在线地图插件运行错误解决
  7. 0基础学习C语言视频
  8. python 如何输出中文_python3如何输出中文
  9. 带您一起探索关于水利工程施工堤坝防渗加固技术
  10. 干货 | 终于来了!携程开源RN开发框架 - CRN