Spring Boot 整合xxl-job实现分布式定时任务
为了使用Spring Boot整合xxl-job实现分布式定时任务,你需要按照以下步骤操作:
- 添加xxl-job-core依赖到你的Spring Boot项目中。
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>你的版本号</version>
</dependency>
- 在application.properties或application.yml中配置xxl-job相关属性。
# xxl-job admin address
xxl.job.admin.addresses=你的xxl-job-admin地址
# executor configuration
xxl.job.executor.appname=你的应用名称
xxl.job.executor.ip=自动获取
xxl.job.executor.port=自动获取
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
xxl.job.executor.logretentiondays=30
- 创建定时任务的Handler。
@JobHandler(value="demoJobHandler")
public class DemoJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(TriggerParam triggerParam) throws Exception {
// 你的任务逻辑
System.out.println("任务执行中...");
return ReturnT.SUCCESS;
}
}
- 配置自动扫描的包路径,确保@JobHandler注解的类能被Spring容器扫描到。
@Configuration
public class XxlJobConfig {
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses("你的xxl-job-admin地址");
xxlJobSpringExecutor.setAppName("你的应用名称");
xxlJobSpringExecutor.setIp("自动获取");
xxlJobSpringExecutor.setPort("自动获取");
xxlJobSpringExecutor.setAccessToken(null);
xxlJobSpringExecutor.setLogPath("/data/applogs/xxl-job/jobhandler");
xxlJobSpringExecutor.setLogRetentionDays(30);
return xxlJobSpringExecutor;
}
}
- 启动Spring Boot应用,并访问xxl-job-admin界面添加执行器,并启动执行器。
- 在xxl-job-admin界面添加任务,并指定执行的Handler(即你刚创建的JobHandler类名)。
以上步骤完成后,你的定时任务就会在Spring Boot应用中按照预定的时间执行。
评论已关闭