XXL-JOB 替换 Quartz 定时任务

以下是一个使用 XXL-JOB 替换 Quartz 定时任务的具体代码示例:

一、项目依赖

假设使用 Spring Boot 项目,在pom.xml中添加 XXL-JOB 的依赖:

xml
复制

com.xuxueli xxl-job-core 2.4.0

二、配置 XXL-JOB 执行器

创建一个配置类来配置 XXL-JOB 执行器:

java
复制

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.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.accessToken}")
private String accessToken;

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

@Value("${xxl.job.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;
}

}

在application.properties中配置 XXL-JOB 的相关参数:

properties
复制

xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin
xxl.job.executor.appname=your-app-name
xxl.job.executor.address=
xxl.job.executor.ip=
xxl.job.executor.port=9999
xxl.job.accessToken=
xxl.job.logPath=/data/applogs/xxl-job/jobhandler
xxl.job.logRetentionDays=30

三、创建定时任务类

java
复制

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

@Component
@Slf4j
public class SampleXxlJob {

@XxlJob("sampleJobHandler")
public ReturnT<String> execute(String param) {
    log.info("执行 XXL-JOB 定时任务,参数:{}", param);
    // 这里是任务的具体逻辑
    return ReturnT.SUCCESS;
}

}

四、在 XXL-JOB 管理平台配置任务

启动 XXL-JOB 管理平台(可从 XXL-JOB 项目中获取并部署)。
登录管理平台,添加执行器,配置应用名称等与上述代码中一致的参数。
创建任务,选择任务类型为 “Bean 模式”,任务名称自定义,执行方法填写刚刚创建的定时任务类中的方法名(如sampleJobHandler),并设置任务的触发规则等参数。

通过以上步骤,就可以使用 XXL-JOB 替换 Quartz 定时任务,实现定时任务的可视化管理和分布式执行等功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值