下载地址
搭建xxljob需要提前准备好
1.首先初始化SQL脚本建立必须的库和表

2.对于解压的文件分为三个模块
1 2 3 4 5
| xxl-job-admin:调度中心 xxl-job-core:公共依赖 xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器) :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式; :xxl-job-executor-sample-frameless:无框架版本;
|
其中:xxl-job-core是需要引入的源码包后续我们可以用以下形式引入
1 2 3 4 5
| <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency>
|
xxl-job-admin是我们的调度中心,我们只需要把这个项目单独拿出来运行就行了,下面是运行结果

xxl-job-executor-sample-springboot是我们后续用boot可以参照的模板,当然也可以直接用来使用
3.xxl-job-admin配置
先修改数据库的地址,也就是上面初始化的地址

然后修改警报邮箱配置

4.警报邮箱配置

去自己对应邮箱的设置里面找到smtp并开启
1
| 注意:spring.mail.password的密码是QQ邮箱开启SMTP的授权码而非QQ密码
|
比如新浪
发件:POP3服务器为:pop3.sina.com.cn
收件:SMTP服务器为:smtp.sina.com.cn
qq
发件:POP3服务器为:pop.qq.com
收件:SMTP服务器为:smtp.qq.com
注意 不能自己邮箱发自己邮箱,否则收不到

上面就是收件的内容
5.boot整合xxljob
引入依赖
1 2 3 4 5
| <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency>
|
配置文件整合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| package com.example.demo.config;
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 xxlConfig { private Logger logger = LoggerFactory.getLogger(xxlConfig.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() { logger.info(">>>>>>>>>>> xxl-job config init."); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| server.port=8089 server.servlet.context-path=/todo
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.accessToken=
xxl.job.executor.appname=job-to-do
xxl.job.executor.address=
xxl.job.executor.ip= xxl.job.executor.port=9998
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
xxl.job.executor.logretentiondays=30
|
6.定时任务的创建方式

@XxlJob注解是新版本提供的方式,不需要继承
旧版方式是继承IJobHander然后重写execute方法
7.界面介绍

