前段时间老板叫用springboot整合xxl-job,以下是本人的一些整合步骤,一字一码打出来,希望对你有用,谢谢你们的阅读。
本例子以若依框架为基础(若依有自带定时任务),本例子只是为了学习
若依:
https://gitee.com/y_project/RuoYi-fast
XXL-JOB:https://www.xuxueli.com/xxl-job/
首先把若依项目启动运行:
第二步:获取xxl源码:
https://gitee.com/xuxueli0323/xxl-job
然后使用idea打开xxl-job-admin,配置数据库
然后启动访问:
http://127.0.0.1:8080/xxl-job-admin/toLogin
默认账号:admin 默认密码:123456
登录成功后界面:
第三步:往若依项目的pom.xml加入
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
第四步:往若依项目application.yml加上
xxl:
job:
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin
executor:
appname: xxl-job-executor-sample # 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
address:
ip:
port: 9999
logpath: G:/
logretentiondays: -1
accessToken: ### 执行器通讯TOKEN [选填]:非空时启用;
然后新建一个class(XxlJobConfig)
@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() {
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;
}
}
然后启动若依项目,再次到调度中心查看执行器:
发现注册成功,则说明整合成功
扫描二维码关注公众号,回复:
16811055 查看本文章
第五步:往若依项目新增一个任务处理Class,内容如下
@Component
public class TestJob {
@XxlJob("testHandler")
public void testHandler() throws Exception {
System.out.println("我执行了------------");
}
}
第六步:配置任务管理
第七步:执行查看
发现可以成功执行若依里面的执行器说明整合成功
ps:整合不易,希望收藏,或许以后对你有用呢