博主
258
258
258
258
专辑

第十七节 SSM 框架使用xxl-job分布式定时任务

亮子 2023-10-19 14:11:57 1038 0 0 0

1、xxl-job简介

官网
https://www.xuxueli.com/xxl-job/

源码地址
http://gitee.com/xuxueli0323/xxl-job

2、下载源码

# 克隆代码
git clone https://gitee.com/xuxueli0323/xxl-job.git

图片alt

3、修改配置文件并编译

1)、先要运行数据库脚本,创建数据库。数据库脚本所在位置如下图:

图片alt

然后把数据脚本导入到数据库中。

图片alt

2)、修改配置文件

### xxl-job, datasource
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=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

图片alt

3)、编译并运行

  • 编译

图片alt

  • 编写启动脚本start.bat
java -jar xxl-job-admin-2.4.1-SNAPSHOT.jar
pause
  • 运行启动脚本

图片alt

  • 访问管理页面

页面地址
http://localhost:8080/xxl-job-admin/
默认用户名:admin
默认密码:123456

图片alt

4、SSM集成xxl-job

1)、定义定时任务类

package com.shenmazong.zg2.service.impl;

import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Service;

/**
 * @author 军哥
 * @version 1.0
 * @description: xxl-job 被调度任务的service
 * @date 2023/10/20 9:10
 */

@Service
public class XxlJobServiceImpl {

    /***
     * @description 模拟定时发送邮件
     * @params 
     * @return void
     * @author 军哥
     * @date 2023/10/20 9:29
     */
    @XxlJob("sendMail")
    public void sendMail() {
        System.out.println("xxl-job定时发送邮件");
    }

}

2)、复制springXxlJob.xml文件

图片alt

3)、修改springXxlJob.xml文件

图片alt

4)、修改spring.properties配置文件

#xxl-job-----------------------------------------------------
# xxl-job 远程服务地址
xxljob.host = 127.0.0.1
# xxl-job 远程服务端口
xxljob.port = 8099
# xxl-job 远程服务名称
xxljob.uri = xxl-job-admin
# 本地注册服务的名字
xxljob.appname = task1
# 本地注册服务的端口
xxljob.appport = 9996

图片alt

5)、新增定时任务

6)、新增执行器

7)、执行任务