《XXL-JOB》简单配置使用

具体安装可以查看官方文档,本文重点是讲述安装后的使用
中文文档:https://www.xuxueli.com/xxl-job/en/
源码仓库地址
源码仓库地址 Release Download
https://github.com/xuxueli/xxl-job Download
http://gitee.com/xuxueli0323/xxl-job Download
环境
Maven3+
Jdk1.8+
Mysql5.7+
二、快速入门
2.1 初始化“调度数据库”
请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。
“调度数据库初始化SQL脚本” 位置为:
/xxl-job/doc/db/tables_xxl_job.sql

调度中心支持集群部署,集群情况下各节点务必连接同一个mysql实例;
如果mysql做主从,调度中心集群节点务必强制走主库;
2.2 编译源码
解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可,源码结构如下:
xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
:xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
:xxl-job-executor-sample-frameless:无框架版本;

2.3 配置部署“调度中心”
调度中心项目:xxl-job-admin
作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。

步骤一:调度中心配置:
调度中心配置文件地址:

/xxl-job/xxl-job-admin/src/main/resources/application.properties

调度中心配置内容说明:

### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

报警邮箱

spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
 #调度中心通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
xxl.job.i18n=zh_CN
 #调度线程池最大线程配置【必填】
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100

调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;

xxl.job.logretentiondays=30

步骤二:部署项目:
如果已经正确进行上述配置,可将项目编译打包部署。
调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
默认登录账号 “admin/123456”, 登录后运行界面如下图所示。
《XXL-JOB》简单配置使用_第1张图片

至此“调度中心”项目已经部署成功。

三 项目中如何把job添加到xxl-job中

在job后台添加一个执行器,AppName注意填写。
《XXL-JOB》简单配置使用_第2张图片

application.yml文件中添加配置

#xxl-job
xxl:
  job:
    admin:
      addresses: http://localhost:8090/xxl-job-admin  #地址为xxl-job后台郁闷
    executor:
      appname: adv-dev-job   #自己定义的执行器名称
      address:
      ip:
      port: 9540     #自定义,无限制
      logpath: /data/xxl-job/jobhandler #日志路径,自定义
      logretentiondays: -1
    accessToken:

启动需要定时任务项目,会主动注入到xxl-job显示当前使用的机器
《XXL-JOB》简单配置使用_第3张图片
《XXL-JOB》简单配置使用_第4张图片
添加任务
在项目代码中创建文件:

package com.ptx.job.schedue;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;

@Slf4j
@Component
public class XxlJobScheduler {

    /**
     * 示例xxl-job
     *
     * @throws Exception
     */
    @XxlJob("testAdJobHandler")
    public void testAdJobHandler() throws Exception {
        XxlJobHelper.log("XXL-JOB, Hello World.");

        for (int i = 0; i < 5; i++) {
            log.info("执行:" + i);
            XxlJobHelper.log("beat at:" + i);
            TimeUnit.SECONDS.sleep(2);
        }
        // default success
        XxlJobHelper.log("xxl-job执行任务:testAdJobHandler,执行成功!!");
        log.info("xxl-job执行任务:testAdJobHandler,执行成功!!");
    }

}

在xxl-job中添加任务:
《XXL-JOB》简单配置使用_第5张图片

你可能感兴趣的:(java,java,spring,boot)