当前位置: 首页 > news >正文

手工艺品网站建设开网店哪个平台靠谱

手工艺品网站建设,开网店哪个平台靠谱,东莞城乡建设规划官网,东莞房价一览表分析 改造 1、接口调用 2、创建新注解 3、自动注册核心 4、自动装配 测试 测试后 XXL-Job是一款非常优秀的任务调度中间件,其轻量级、使用简单、支持分布式等优点,被广泛应用在我们的项目中,解决了不少定时任务的调度问题。不仅如此&a…
  • 分析

  • 改造

    • 1、接口调用

    • 2、创建新注解

    • 3、自动注册核心

    • 4、自动装配

  • 测试


  • 测试后

XXL-Job是一款非常优秀的任务调度中间件,其轻量级、使用简单、支持分布式等优点,被广泛应用在我们的项目中,解决了不少定时任务的调度问题。不仅如此,XXL-Job 还提供了非常丰富的任务调度管理功能,如任务执行情况的监控及告警、任务执行日志的查看等,这些功能大大提高了我们项目的可维护性和任务执行的可靠性。

我们都知道,在使用过程中需要先到XXL-Job的任务调度中心页面上,配置执行器(executor)和具体的任务(job)。这一过程如果项目中的定时任务数量不多还好说,但如果任务多了,就需要我们动用更多的时间和精力来进行配置。幸运的是,XXL-Job也提供了API接口,可以通过编写代码来完成任务的添加、修改、删除等操作,大大降低了我们的配置工作量并提高了工作效率。

假设项目中有上百个这样的定时任务,那么每个任务都需要走一遍绑定jobHander后端接口,填写cron表达式这个流程…

我就想问问,填多了谁能不迷糊?

于是出于功能优化(偷懒 )这一动机,前几天我萌生了一个想法,有没有什么方法能够告别xxl-job的管理页面,能够让我不再需要到页面上去手动注册执行器和任务,实现让它们自动注册到调度中心呢。

分析 

分析一下,其实我们要做的很简单,只要在项目启动时主动注册executor和各个jobHandler到调度中心就可以了,流程如下:

 

 

有的小伙伴们可能要问了,我在页面上创建执行器 的时候,不是有一个选项叫做自动注册 吗,为什么我们这里还要自己添加新执行器?

其实这里有个误区,这里的自动注册指的是会根据项目中配置的xxl.job.executor.appname,将配置的机器地址自动注册到这个执行器的地址列表中。但是如果你之前没有手动创建过执行器,那么是不会给你自动添加一个新执行器到调度中心的。

既然有了想法咱们就直接开干,先到github上拉一份xxl-job的源码下来:

https://github.com/xuxueli/xxl-job

整个项目导入idea后,先看一下结构:

结合着文档和代码,先梳理一下各个模块都是干什么的:

  • xxl-job-admin:任务调度中心,启动后就可以访问管理页面,进行执行器和任务的注册、以及任务调用等功能了

  • xxl-job-core:公共依赖,项目中使用到xxl-job时要引入的依赖包

  • xxl-job-executor-samples:执行示例,分别包含了springboot版本和不使用框架的版本

为了弄清楚注册和查询executorjobHandler调用的是哪些接口,我们先从页面上去抓一个请求看看:

好了,这样就能定位到xxl-job-admin模块中/jobgroup/save这个接口,接下来可以很容易地找到源码位置:

 好了,这样就能定位到xxl-job-admin模块中/jobgroup/save这个接口,接下来可以很容易地找到源码位置:

 

按照这个思路,可以找到下面这几个关键接口:

  • /jobgroup/pageList:执行器列表的条件查询

  • /jobgroup/save:添加执行器

  • /jobinfo/pageList:任务列表的条件查询

  • /jobinfo/add:添加任务

但是如果直接调用这些接口,那么就会发现它会跳转到xxl-job-admin的的登录页面:

改造

我们改造的目的是实现一个starter,以后只要引入这个starter就能实现executorjobHandler的自动注册,要引入的关键依赖有下面两个:

 

 

1、接口调用

在调用调度中心的接口前,先把xxl-job-admin模块中的XxlJobInfoXxlJobGroup这两个类拿到我们的starter项目中,用于接收接口调用的结果。

登录接口 

创建一个JobLoginService,在调用业务接口前,需要通过登录接口获取cookie,并在获取到cookie后,缓存到本地的Map中。

 

2、创建新注解

在创建任务时,必填字段除了执行器和jobHandler之外,还有任务描述 、负责人 、Cron表达式 、调度类型 、运行模式 。在这里,我们默认调度类型为CRON、运行模式为BEAN,另外的3个字段的信息需要用户指定。

因此我们需要创建一个新注解@XxlRegister,来配合原生的@XxlJob注解进行使用,填写这几个字段的信息:

 

最后,额外添加了一个triggerStatus属性,表示任务的默认调度状态,0为停止状态,1为运行状态。

3、自动注册核心 

基本准备工作做完后,下面实现自动注册执行器和jobHandler的核心代码。核心类实现ApplicationListener接口,在接收到ApplicationReadyEvent事件后开始执行自动注册逻辑。

 

4、自动装配

创建一个配置类,用于扫描bean

 

将它添加到META-INF/spring.factories文件: 

到这里starter的编写就完成了,可以通过maven发布jar包到本地或者私服: 

测试

新建一个springboot项目,引入我们在上面打好的包:

 

application.properties中配置xxl-job的信息,首先是原生的配置内容:

 

从页面上手动执行任务进行测试,可以执行成功: 

到这里,starter的编写和测试过程就算基本完成了,项目中引入后,以后也能省出更多的时间来摸鱼学习了~

最后

 

我们非常感谢您的光临。如果您觉得这篇文章对您有帮助,那么我们诚挚地邀请您给我们一个star。这将有助于我们更好地为您提供更多优质的内容。另外,如果您有任何疑问或建议,请随时与我们联系。我们非常乐意听取您的反馈,并会尽快回复您。再次感谢您的支持!

 

 

 

 

http://www.hkea.cn/news/47417/

相关文章:

  • 纯静态网站seoseo排名优化北京
  • 开封网站建设哪家好指数计算器
  • 网站开发 架构石家庄seo关键词排名
  • 可以免费做商业网站的cms百度seo霸屏软件
  • 哪家网站建设专业快速建站教程
  • 坪山网站建设行业现状优化seo方案
  • 做网站需要架构师吗网站平台有哪些
  • 网站建设丿选择金手指15凡科建站官网
  • 可以做外国网站文章武汉企业seo推广
  • 天津网站建设公司最好太原做网站哪家好
  • 网站代下单怎么做百度指数数据分析平台入口
  • 淘宝做动效代码的网站seo的优化方向
  • 番禺建网站公司网站搜索工具
  • 安徽万振建设集团网站长春网站推广公司
  • 网站怎么制作 推广seo超级外链工具免费
  • 中小学网站建设探讨东莞seo整站优化火速
  • php是网站开发的语言吗企业网站的作用
  • 网站站外优化怎么做企业推广app
  • 拉趣网站是谁做的威海网站制作
  • 做宣传海报的网站百度导航2023年最新版
  • 湖南做网站 磐石网络windows优化大师官方免费
  • 制作网站的最新软件如何优化关键词的方法
  • 东莞工作招聘网最新招聘搜索 引擎优化
  • 宁波俄语网站建设免费发广告的平台有哪些
  • 郑州外贸网站建设及维护营销软件商城
  • 泉州百度关键词排名广州网站营销优化qq
  • 怎么做wep网站营销推广活动方案
  • 展示型网站php官方app下载安装
  • 嘉祥网站建设广东省自然资源厅
  • 忘记网站后台密码网站排名软件推荐