xxl-job-admin实践

需求背景:因公司业务发展,涉及很多定时作业任务的调度的统一维护,用到了github上一个原携程的架构师的开源项目xxl-job-admin,好评很高,通用,易上手。这个是分布式的定时调度系统,提供了web管理页面和client端,很多大公司都在使用。我之前在一家小公司也用过它,写定时任务,每天拉取微信的对账文件,和自己系统的订单系统里的账单对账,一一对账,看是否有漏单,价格,总价是否一致。然后写一个博客记录下来,下次可以找出来用。

1、上github下载一份源码,地址为:https://github.com/xuxueli/xxl-job  ,选择稳定版本的分支

xxl-job-admin实践_第1张图片

2、解压源码,将工程导入springboot官方提供的STS.exe开发工具

3、已经安装了mysql,使用SQLyog客户端client连接mysql,新建一个数据库xxl-job,执行tables_xxl_job.sql 语句导入数据,初始化。

xxl-job-admin实践_第2张图片

xxl-job-admin实践_第3张图片

4、修改xxl-job-admin的application.properties文件的配置,修改mysql数据库连接地址、账号、密码,修改发通知邮箱的账号、密码,保存,选中 XxlJobAdminApplication.java 点击run as springboot app,启动web管理界面应用,如果是在服务器上部署admin管理界面不用做任何改动,直接打包成一个jar,把它放到已经安装了jdk环境的linux服务器上,以 nohup java -jar  xxl-job-admin-2.0.2.jar 命令运行即可,如下截图

xxl-job-admin实践_第4张图片

 

5,、访问效果图如下

xxl-job-admin实践_第5张图片

6、xxl-job提供了很完善的demo,此处以 xxl-job-executor-sample-springboot为作测试,修改改工程的application.properties文件的配置为自己安装xxl-job-admin的环境的配置

xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin    
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=
xxl.job.executor.port=9999
 

xxl-job-admin实践_第6张图片

7、修改 com.xxl.job.executor.service.jobhandler.DemoJobHandler.java类,加多一句参数打印,logger.info("XXL-JOB, Hello World:"+param); 保存,选中 XxlJobExecutorApplication.java 类,run as springboot app 启动。

8、登录xxl-job-admin web管理界面,配置 demoJobHandler 任务,参数输入框填写一个值,然后保存,执行任务。

xxl-job-admin实践_第7张图片

9、此时,xxl-job-executor-sample-springboot 工程的控制台会打印这个参数出来,说明已经成功了,接下来的工作是把这个工程改成自己公司的业务工程项目,然后编写自己的业务代码。由于时间的关系,我就不列出改造后的工程代码了,效果如图是这样的。我这样做,可以动态输入日期,跑批测试固定哪天的任务或者重跑某一天的任务。

xxl-job-admin实践_第8张图片

 

 

你可能感兴趣的:(java)