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

深圳做网站d公司做网站和做app哪个难

深圳做网站d公司,做网站和做app哪个难,搜索引擎优化的步骤,wordpress 详情预设分析 改造 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.yayakq.cn/news/817894/

相关文章:

  • 为什么网站浏览不是做的那样淘宝客网站还可以做吗
  • 东莞网站建设推广北京的网站设计
  • 湖南省住房与城乡建设厅网站官网网站维护企业
  • 网站设计开发的难点wordpress标题字体样式
  • 红色主题网站模板北京工程建设公共资源交易平台
  • 公司网站建设价格贵吗红安县建设局网站
  • 淮安设计网站asp.net 4.0网站开发与项目实战 pdf
  • 云南网站建设优选平台wordpress建个人网站
  • 自适应网站建设企业管理培训课程目录
  • 泰安网站建设定制公司注册城乡规划师难考吗
  • 苏中建设集团网站网址推广图片模版
  • 腾讯云做网站选哪个深圳网站搜索优化
  • 做家电选招标采购哪一个网站好wordpress批量提交
  • 怎样做音视频宣传网站试述网站建设的流程.
  • 威胁网站检测平台建设中标海门市城乡建设局网站
  • 网站可以给pdf做笔记外贸php网站源码
  • 建站公司是什么意思青岛市最大的网络公司是哪里
  • 微信小说网站开发个人如何注册网站
  • 固原市住房和城乡建设厅网站哪个公司做网站专业
  • 事业单位门户网站建设中国形象设计网
  • 网站如何规范的排版编辑flash网站整站源码免费下载
  • 用python做购物网站公司广告片拍摄公司
  • c程序设计教学网站怎么做单位网站开发合同范本
  • 巴中城乡建设官方网站wordpress博客dux主题
  • 什么是企业营销型网站?wordpress插件提交
  • 媒体网站开发专业上海网站建设
  • 网站开发什么语言安全wordpress图片无法加载
  • 网站建设与维护作业网站建设公司领导致辞
  • 网站备案全国合作拍照点海南营销网站建设
  • 领秀网站建设手机阅读网站开发原因