springboot 整合xxljob 首先你需要启动一个xxl_job的管理中心 就这这个页面。一般公司都会给你配置好
你的项目如何整合:
在spring boot的配置文件中加上如下配置,
注意 1:admin.addresses 就是你xxljob的管理页面地址。
2: 下边这个端口号 自己写一个9097,这个端口号就是 你执行器的端口号,一会要配置到管理页面上
zhxxl: job: admin: addresses: http://localhost:8080/xxl-job-admin/ accessToken: alarmEmail: executor: address: appname: (这里和管理页面执行器的appname保持一致) ip: port: 9097 logpath: #执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效; logretentiondays: -1 #配置邮箱
最后就是写一个配置文件如下:
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import lombok.extern.slf4j.Slf4j; 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; @Slf4j @Configuration public class XxlJobConfiguration { private final Logger logger = LoggerFactory.getLogger(getClass()); @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; } }
注意!!!和两个appname 保持一致就可以实现自动注册了
写完之后 可以写自己的定时任务执行逻辑:注意用@XxlJob 这个就可以
@Slf4j @Component public class JobRepaymentPlan { @XxlJob("test") public ReturnT<String> execute(String param) throws ParseException { System.out.println("XxlJob>>>>>>>>>>>>>>>>>>>>>>>>>"); return SUCCESS; } }
到这里基本就可以了 下边是手动配置,如果不需要可以忽略!!!
手动如何配置:
执行器配置好了
我们配置任务管理器具体执行:
以上就配置好了。