spring boot集成xxl-job定时任务

spring boot集成xxl-job定时任务

  • 一、从github下载xxl-job项目
  • 二、执行数据库脚本
  • 三、修改xxl-job-admin项目中的application.properties
  • 四、启动xxl-job调度中心
  • 五、新建一个spring boot项目
    • 5.1引入xxl-job依赖
    • 5.2创建属性配置文件
    • 5.3创建配置类
    • 5.4创建任务
    • 5.5创建任务
  • 六、进入调度中心进行配置
    • 6.1配置执行器
    • 6.2配置任务
    • 6.3启动任务

一、从github下载xxl-job项目

从github下载xxl-job项目导入至idea(网址:https://github.com/xuxueli/xxl-job)

spring boot集成xxl-job定时任务_第1张图片

二、执行数据库脚本

将xxl-job所需的数据库表导入至MySQL数据库中(注意xxl_job_registry表中的数据库引擎)

spring boot集成xxl-job定时任务_第2张图片

三、修改xxl-job-admin项目中的application.properties

修改xxl-job-admin项目中application.properties文件中连接数据库的相关配置

spring boot集成xxl-job定时任务_第3张图片

四、启动xxl-job调度中心

启动xxl-job-admin项目中的XxlJobAdminApplication启动类,成功后可以访问管理台页面(初始账号为admin/123456)

spring boot集成xxl-job定时任务_第4张图片

spring boot集成xxl-job定时任务_第5张图片

五、新建一个spring boot项目

5.1引入xxl-job依赖

	
	
        com.xuxueli
        xxl-job-core
        2.2.0
    

5.2创建属性配置文件

spring boot集成xxl-job定时任务_第6张图片

5.3创建配置类

package com.config;

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:xxlJob.properties")//创建的属性文件
@ComponentScan(basePackages = "com.jobHandle")//创建的任务job的包名
public class XxlJobSpringExecutorConfig {
    @Value("${xxl.job.admin.addresses}")
    private String addresses;
    @Value("${xxl.job.executor.appname}")
    private String appname;
    @Value("${xxl.job.executor.port}")
    private int port;
    @Value("${xxl.job.executor.ip}")
    private String ip;
    @Value("${xxl.job.accessToken}")
    private String accessToken;
    @Value("${xxl.job.executor.logpath}")
    private String logpath;
    @Value("${xxl.job.executor.logretentiondays}")
    private int logretentiondays;

    @Bean(initMethod = "start", destroyMethod = "destroy")
    public XxlJobSpringExecutor getXxlJobSpringExecutor(){
        XxlJobSpringExecutor x=new XxlJobSpringExecutor();
        x.setAdminAddresses(addresses);
        x.setAppname(appname);
        x.setIp(ip);
        x.setLogPath(logpath);
        x.setPort(port);
        x.setLogRetentionDays(logretentiondays);
        x.setAccessToken(accessToken);
        return x;
    }
}

5.4创建任务

package com.jobHandle;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class demoJobHandle {

    @XxlJob("lcDemoJobHandle")
    public ReturnT<String> execute(String param) throws Exception {
        XxlJobLogger.log("XXL-JOB FIRST");
        for (int i = 0; i < 5; i++) {
            System.out.println("保安牛皮!");
        }
        return ReturnT.SUCCESS;
    }
}

5.5创建任务

通过启动类启动该项目

六、进入调度中心进行配置

6.1配置执行器

AppName填写刚刚属性配置文件中的xxl.job.executor.appname,名称随便起名,然后自动注册

spring boot集成xxl-job定时任务_第7张图片

6.2配置任务

执行器:刚刚配置填写的名称
JobHandler:填写在5.4创建任务中@XxlJob注解所配的名称
其余都是根据个人进行填写

spring boot集成xxl-job定时任务_第8张图片

6.3启动任务

点击执行一次或者点击启动(根据刚刚创建任务时配置的时间周期进行执行)
启动后,可以在idea控制台查看到输出结果;同时,可以在左侧菜单栏调度日志查看任务执行信息

spring boot集成xxl-job定时任务_第9张图片

你可能感兴趣的:(xxl-job,spring,boot,quartz)