xxl-job集成到springboot项目

xxl-job集成到springboot项目

添加依赖

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.2.0</version>
</dependency>

修改yml(习惯使用yml),添加xxl

spring:
  application:
    name: big
  profiles:
    active: dev
  cloud:
    config:
      label: master
      name: ${
    
    spring.application.name}, redis , xxl
      discovery:
        enabled: true
        service-id: config-server

配置类

package com.iotmars.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.Configuration;

@Configuration
public class XxlJobConfig {
    
    

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.accessToken}")
    private String accessToken;

    @Value("${xxl.job.executor.appname}")
    private String appName;

    @Value("${xxl.job.executor.address}")
    private String address;

    @Value("${xxl.job.executor.ip}")
    private String ip;

    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.executor.logpath}")
    private String logPath;

    @Value("${xxl.job.executor.logretentiondays}")
    private int logRetentionDays;


    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
    
    
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appName);
//        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
        return xxlJobSpringExecutor;
    }
}

任务执行

package com.iotmars.service;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;


/**
 * xxl定时任务调度
 */
@Slf4j
@Component
public class xxlService {
    
    

    @XxlJob("updateData")
    public ReturnT<String> updateData(String param) {
    
    

        //需要定时调度的业务逻辑
        return ReturnT.SUCCESS;
    }
}

这里@XxlJob注解的值是后面会用到的。

xxl-job的Web界面新增任务,JobHandler的值就是上面注解。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liuliusix/article/details/111559812
今日推荐