Spring boot接入xxl-job
Spring boot接入xxl-job
- 导入maven包
- 加入配置
- 增加配置类
- 创建执行器类(写job的业务逻辑)
- 去控制台中配置job
导入maven包
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
加入配置
#xxl-job部署的地址,如果是集群部署存在多个地址则用逗号分隔。
xxl.job.admin.addresses=http://172.31.128.102:8333/xxl-job-admin
#执行器通讯TOKEN(跟xxl-job服务的配置保持一致)
xxl.job.accessToken=default_token
#执行器AppName(xxl-job控制台中配置的执行器名字)
xxl.job.executor.appname=time-update-handler
#执行器注册:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。
xxl.job.executor.address=
#执行器IP:默认为空表示自动获取IP
xxl.job.executor.ip=
#执行器端口号:小于等于0则自动获取,默认端口为9999。(用于接收调度中心发送过来的任务调度请求,并将任务执行的结果返回给调度中心)
xxl.job.executor.port=8334
#执行器运行日志文件存储磁盘路径,为空则使用默认路径;
xxl.job.executor.logpath=
#执行器日志文件保存天数: 过期日志自动清理, 限制值大于等于3时生效;-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=15
增加配置类
@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;
}
}
创建执行器类(写job的业务逻辑)
@Slf4j
@Component
public class TimeJob {
/**
* 示例
*/
@XxlJob("timeUpdateJob")
public void clockInJobHandler() {
//todo 在这里写具体的业务代码
}
}
去控制台中配置job
1.先配置执行器
2.再配置任务
3.启动job
到这里就完成了!
如果想在linux上安装xxl-job可以看这篇文章:点我