XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
1、下载 xxl-jobgitee 地址:
https://gitee.com/xuxueli0323/xxl-job
文档地址:
https://www.xuxueli.com/xxl-job/
2、启动 xxl-job
从 gitee 上下载 xxl-job,使用 IDEA 工具打开,目录如下:
代码中已经有了 SpringBoot 的整合实例,是学习 xxl-job 的最好方式
- 1、导入数据库文件
数据库脚本路径为:
/xxl-job/doc/db/tables_xxl_job.sql
该脚本会自动创建数据库,无需先行创建数据库
-
2、修改项目中数据库连接信息
结合自己本地的 mysql 连接为准 -
3、启动 xxl-job-admin
启动 xxl-job-admin 项目,直接运行 XxlJobAdminApplication 启动类即可,访问:
http://localhost:8080/xxl-job-admin
账户:admin,密码:123456
登录成功
- 1、引入 maven 依赖
com.xuxueli
xxl-job-core
2.3.1-SNAPSHOT
- 2、创建 job
import com.xxl.job.core.handler.annotation.XxlJob;
import groovy.util.logging.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class DemoXxlJob {
@XxlJob("testJob")
public void testJob() {
System.out.println("demoXxlJob 执行了:" + System.currentTimeMillis());
}
}
- 3、注册进入 xxl-job-admin
# xxl-job-admin 的地址
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### xxl-job, access token
xxl.job.accessToken=
### xxl-job executor appname
xxl.job.executor.appname=xxl-job-executor-sample
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### xxl-job executor server-info
xxl.job.executor.ip=
xxl.job.executor.port=9999
### xxl-job executor log-path
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### xxl-job executor log-retention-days
xxl.job.executor.logretentiondays=30
- 4、注册 xxl-job-executor bean
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@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;
}
}
-
5、启动项目
查看 xxl-job-admin 的执行器列表:
已经注册进来了 -
6、添加任务管理
新增一个任务,启动它:
启动成功,查看执行日志:
执行成功,查看控制台打印:
成功输出,证明我们的 xxl-job 整合成功
如您在阅读中发现不足,欢迎留言!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)