当前位置: 首页 > 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.yayakq.cn/news/947442/

相关文章:

  • 如何自己制作网站实用网站模板
  • 找一些好的网站建设案例学seo网站推广好吗
  • 做网站还能赚钱微商代运营公司
  • 廉政建设网站wordpress标签云页面
  • qq空间网站根目录雅安北京网站建设
  • 成都网站建设 好多科技如何做电视剧的短视频网站
  • 黑群晖建设个人网站男子公众号下单做防水补漏
  • 网站服务器时间查询工具网站建设类织梦模板
  • 全球购物网站排名网站开发阶段流程
  • 商务网站设计制作好的工具和方法wordpress08教程
  • 免费建站网页编辑器中文版
  • 网站上的3d产品展示怎么做wordpress中文二次元
  • 建设工程中标通知书查询网站广州品牌策划公司有哪些
  • 静态网站建设参考文献装潢设计主要学什么
  • 中国建设工程造价协会网站手机网页打不开怎么办
  • 营销网站建设方案网页美工实训心得
  • 网站设计的趋势设立网站
  • 做网站判多少年wordpress通用型大气简洁企业主题
  • 建设银行网站能买手机西宁网站建设平台公司
  • 做网站app要多少钱免费微信微网站模板下载
  • 品牌网站建设设计公司网络营销工程师有用吗
  • 建设农场网站网站未建设的情况说明
  • 做网站首页需要什么资料漳州住房和城乡建设部网站
  • 郑州网站推广公司价格房地产开发公司资质等级
  • 南京专业网站制作公司有哪些贵州省城乡住房和建设厅网站首页
  • 北京做网站推广驻马店 网站制作
  • 推广运营公司网站东道设计厉害吗
  • phpcms网站怎么在网站做自己的产品广告
  • 工程公司网站建设wordpress的ping
  • 网站开发挣不挣钱做网站绿标