• SpringBoot整合XXL-Job


    xxl-job是一个分布式任务调度平台、其核心设计目标是开发迅速、学习简单、轻量级、易扩展

    多数互联网里面用的技术、周期性业务、如消息推送、支付队帐、数据统计等、离不开分布式调度

    在多数互联网公司中、分部署调度xxl-job的占有率高、最近几年大量流行

    XXL-JOB是美团点评中间件研发工程师许雪里开发的一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

    相关的软件环境

            jdk8/maven3,.5

            编辑器IDEA

    创建一个SpringBoot项目

            导入本集课程代码即可,pom版本保持一致

    添加xxl-job依赖

    1. <dependency>
    2. <groupId>com.xuxueligroupId>
    3. <artifactId>xxl-job-coreartifactId>
    4. <version>2.3.1version>
    5. dependency>

    编写简单的任务调度例子

    新增logback.xml

    1. <configuration debug="false" scan="true" scanPeriod="1 seconds">
    2. <contextName>logbackcontextName>
    3. <property name="log.path" value="/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log"/>
    4. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    5. <encoder>
    6. <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%npattern>
    7. encoder>
    8. appender>
    9. <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    10. <file>${log.path}file>
    11. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    12. <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zipfileNamePattern>
    13. rollingPolicy>
    14. <encoder>
    15. <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
    16. pattern>
    17. encoder>
    18. appender>
    19. <root level="info">
    20. <appender-ref ref="console"/>
    21. <appender-ref ref="file"/>
    22. root>
    23. configuration>

    新增配置文件

    1. # web port
    2. server.port=8081
    3. # no web
    4. #spring.main.web-environment=false
    5. #------------xxl-job配置-------------
    6. logging.config=classpath:logback.xml
    7. #调度中心部署地址,多个配置逗号分隔"http://address01,http://address02"
    8. xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
    9. #执行器token和控制台那边的配置一样的名称,不然注册不上去
    10. xxl.job.accessToken=default_token
    11. #执行app名称和控制台那边配置一样的名称不然注册不上去
    12. xxl.job.executor.appname=xxl-job-executor-sample
    13. #[选项]执行器注册:优先使用该配置作为注册地址为空时候使用内嵌服务"IP:PORT"作为注册地址
    14. #从而更灵活的支持容器执行器动态IP和动态映射端口问题
    15. xxl.job.executor.address=
    16. ### 【选填】执行器IP:默认为空表示自动获取IP(即SpringBoot容器的ip和端口、可以自动获取,也可以指定)
    17. xxl.job.executor.ip=
    18. #【选填】执行器端口号小于等于0则自动获取默认为9999单机部署多个执行器时候注意要配置不同执行器端口
    19. xxl.job.executor.port=9999
    20. ### 执行器日志文件存储路径,需要对该路径拥有读写权限:为空则使用默认路径
    21. xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
    22. ### 执行器日志保存天数
    23. xxl.job.executor.logretentiondays=30

  • 相关阅读:
    Quartz.Net调度框架简介
    @PostConstruct注解详解
    在python中使用ggplot2
    iOS图文混排 头部有图片等相关内容的trick实现方式
    【Unity】3D贪吃蛇游戏制作/WebGL本地测试及项目部署
    再出发!中国数据存储产业在AI时代突围
    Mysql用户管理-授权
    嵌入式开发环境之系统烧录
    Git的下载与安装
    iOS 通信通知 Communication Notifications 的实现
  • 原文地址:https://blog.csdn.net/weixin_53998054/article/details/126018011