• 分布式任务调度平台XXL-Job搭建


    下载: 

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

    下载 然后倒入到自己的工程里面

    引入后:

     导入数据:跑一边

     导入:

     

    修改:

    Window -->show view-->other-->Servers

    把admin引入 

    方法:

      右键:

    点击add and remove 即可

    启动 XXL-Job admin平台:

     

     访问:http://localhost:8080/xxl-job-admin/

    下面客户端的demo (Spring boot 的 对接到Admin平台)

    上面项目中整合XXL-Job 类继承 IJobHandler类。然后通过注解 注册到XXL-Job admin 容器中去  对接到平台上去  value是注册上去的名称

    下面: 

     ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
     xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin  ## 这是admin的地址

    ### xxl-job executor address
    xxl.job.executor.appname=toov5-job    #执行器的名字 起了个名字

      

    下面分别是 spring boot的 job服务别名 地址集合

     

    点击保存 

     

    启动执行器:

    启动执行器后,会将服务器本地信息注册到admin平台。信息包括: 是否存活   定义的注解Value的值  (在先新建任务里面都会有记录了,下面的操作中可以选择的)

     然后去任务管理李: 新建任务

     添加相关信息后,保存。任务就开始根据预定的时间规则去运行了

     

    可以查看日志:

    分析原理:

     在XXL-JOB触发规则,查询对应执行器(实际定时Job执行地址),然后再使用XXL-JOB发送请求到实际的定时JOB任务地址去执行。使用demoJobHandler名称查找对应jvm服务器上JobHandler容器。

    获取到类的信息,反射进行执行。使用demoJobHandler名称查找对应的jvm服务器上@JobHandler容器获取到类的信息,再使用反射机制执行

    注解底层实现:

    @JobHandler(value = "demoJobHandler")   //job 注册到容器中的名称   下面的方法是执行的定时job  底层实现 value  demoJobHandler 名称  对应存放类的class地址。然后反射获取方法执行之

     原理:

     搭建xxl-job平台 ,然后创建执行器。netty会帮助创建服务端口号。执行器启动时候,会把服务信息注册到xxl-job平台。

     创建执行器(实际任务地址)

     然后任务管理 新增任务   jobhandler   Corn表达式  

     首先在xxl-job平台出发job 然后获取执行地址  

        

  • 相关阅读:
    [SHOI2001]化工厂装箱员
    深度学习在生命科学中的应用
    亚马逊DRKG使用体验
    vue项目中使用postcss-pxtorem
    在普通的h5页面中使用stylus预处理框架
    线上服务排查命令汇总
    guava 之 Multiset/Multimap 使用总结
    ElasticSearch 基础篇 02
    guava 基础类型应用
    Guava 字符串使用总结
  • 原文地址:https://www.cnblogs.com/toov5/p/9932908.html
Copyright © 2020-2023  润新知