xxl-job是一个分布式任务调度平台、其核心设计目标是开发迅速、学习简单、轻量级、易扩展
多数互联网里面用的技术、周期性业务、如消息推送、支付队帐、数据统计等、离不开分布式调度
在多数互联网公司中、分部署调度xxl-job的占有率高、最近几年大量流行
XXL-JOB是美团点评中间件研发工程师许雪里开发的一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。
相关的软件环境
jdk8/maven3,.5
编辑器IDEA
创建一个SpringBoot项目
导入本集课程代码即可,pom版本保持一致
添加xxl-job依赖
- <dependency>
- <groupId>com.xuxueligroupId>
- <artifactId>xxl-job-coreartifactId>
- <version>2.3.1version>
- dependency>
编写简单的任务调度例子
新增logback.xml
- <configuration debug="false" scan="true" scanPeriod="1 seconds">
-
- <contextName>logbackcontextName>
- <property name="log.path" value="/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log"/>
-
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%npattern>
- encoder>
- appender>
-
- <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zipfileNamePattern>
- rollingPolicy>
- <encoder>
- <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
- pattern>
- encoder>
- appender>
-
- <root level="info">
- <appender-ref ref="console"/>
- <appender-ref ref="file"/>
- root>
-
- configuration>
新增配置文件
- # web port
- server.port=8081
-
- # no web
- #spring.main.web-environment=false
-
- #------------xxl-job配置-------------
- logging.config=classpath:logback.xml
-
-
- #调度中心部署地址,多个配置逗号分隔"http://address01,http://address02"
- xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
-
- #执行器token和控制台那边的配置一样的名称,不然注册不上去
- xxl.job.accessToken=default_token
-
- #执行app名称和控制台那边配置一样的名称不然注册不上去
- xxl.job.executor.appname=xxl-job-executor-sample
-
- #[选项]执行器注册:优先使用该配置作为注册地址为空时候使用内嵌服务"IP:PORT"作为注册地址
- #从而更灵活的支持容器执行器动态IP和动态映射端口问题
- xxl.job.executor.address=
-
- ### 【选填】执行器IP:默认为空表示自动获取IP(即SpringBoot容器的ip和端口、可以自动获取,也可以指定)
- xxl.job.executor.ip=
-
- #【选填】执行器端口号小于等于0则自动获取默认为9999单机部署多个执行器时候注意要配置不同执行器端口
- xxl.job.executor.port=9999
-
- ### 执行器日志文件存储路径,需要对该路径拥有读写权限:为空则使用默认路径
- xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
-
- ### 执行器日志保存天数
- xxl.job.executor.logretentiondays=30