用elastic-job-lite玩转SpringBoot定时器管理

1.前言当我们用SpringBoot编写定时任务处理业务,但是每次定时的配置都需要修改配置文件,然后重启才生效 。有没有办法不需要重启服务,又能测试定时器Job的功能是否正常?
今天跟大家分享一个开源工具,希望能帮助到有这个需求的童鞋们 。

用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
2.概念Elastic-Job是当当网开源的分布式任务调度解决方案,是业内使用较多的分布式调度解决方案 。
Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务,,外部仅仅依赖Zookeeper 。
今天跟大家分享的就是Elastic-Job-Lite,从如何搭建,到使用触发Job 。
3.部署3.1下载编译$ git clone https://github.com/elasticjob/elastic-job-lite.git$ cd elastic-job-lite$ mvn clean install -Dmaven.test.skip=true编译完毕后会生成一个压缩包,这里的版本是以3.0.0.M1为例 。
$ ls -lrt elastic-job-lite-console/target/elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz 3.2部署启动$ tar zxf elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz$ cd elastic-job-lite-console-3.0.0.M1-SNAPSHOT/bin$ ./start.sh
  • 默认配置文件是auth.properties, 配置管理员及访客用户名及密码
root.username=rootroot.password=rootguest.username=guestguest.password=guest
  • 8899为默认端口号,可通过启动脚本输入-p自定义端口号 。
3.3验证访问http://localhost:8899/即可访问控制台
用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
4.使用教程当我们用SpringBoot实现了Job服务,我们可以根据提供的定时任务信息,在这个开源网页平台填入相应的信息,那么就可以管理对应的Job服务 。
4.1配置注册中心1.左边菜单点击【全局配置】选中【注册中心配置】,然后出现一个已配置列表,在列表的分页显示下方有个【添加】按钮进行添加 。
用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
2.注册中心信息填写
  • 注册中心名称:自己自定义填写 。
  • 注册中心地址:填写对应服务的zk信息,多个用逗号分隔 。
  • 命名空间:填写对应服务的zk命名空间namespace 。
  • 登录凭证:可不填,默认zookeeper不需要填写,除非设置了zookeeper相关信息 。

用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
3.填写完之后,点击右下角【提交】按钮,即完成 。
4.列表中出现新增的注册配置,然后点击该配置最后的操作项,【连接】,则连接上zookeeper 。
用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
4.2 查看这个zookeeper注册中心对应的作业上面配置完注册中心后,会显示对应的定时任务,在左侧【作业操作】下点击【作业维度】,即可查看当前挂在zookeeper的命名空间下的所有任务,提供删除,编辑,触发,失效等一系列功能 。
用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
4.3 不同状态下对应的作业按钮①作业维度下Job已生效的状态为正常,操作下有5个按钮:修改、详情、触发、失效、终止;
②作业维度下Job状态为已失效时,操作下有4个按钮:修改、详情、生效、终止;
③作业维度下Job状态为分片待调整时,操作下有3个按钮:修改、详情、终止;
④作业维度下Job状态为已下线时,操作下有2个按钮:修改、删除 。
4.4 修改job的触发时间1.点击作业维度最后一列操作下的"修改"按钮进入修改作业页面,如图所示:
用elastic-job-lite玩转SpringBoot定时器管理

文章插图
 
2.修改“Cron表达式”里的时间格式,改成你想要执行的时间策略,提交修改 。
这样到了指定的时间,就会执行这个作业Job,是不是很简单 。
4.5 实时触发Job①处于分片待调整状态的Job,需要更改Cron表达式后程序执行了一次或者springboot的程序执行过一次作业,状态才会变为正常 。可以点击“修改”按钮,修改表达式来修改触发器触发的时间;
②job状态显示为正常时,才可以点击“触发”按钮直接触发;
这样触发之后,就是实时的触发Job,我们就直接观察JAVA程序的日志,看业务是否正常 。
5.结束语是不是很简单,再也不需要改配置文件重复Java服务了 。


推荐阅读