package com.dl.job.config; import com.dl.job.config.properties.XxlJobProperties; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * xxl-job config * * @author Lion Li */ @Slf4j @Configuration @EnableConfigurationProperties(XxlJobProperties.class) @AllArgsConstructor @ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true") public class XxlJobConfig { private final XxlJobProperties xxlJobProperties; @Bean public XxlJobSpringExecutor xxlJobExecutor() { log.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses()); xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken()); XxlJobProperties.Executor executor = xxlJobProperties.getExecutor(); xxlJobSpringExecutor.setAppname(executor.getAppname()); xxlJobSpringExecutor.setAddress(executor.getAddress()); xxlJobSpringExecutor.setIp(executor.getIp()); xxlJobSpringExecutor.setPort(executor.getPort()); xxlJobSpringExecutor.setLogPath(executor.getLogPath()); xxlJobSpringExecutor.setLogRetentionDays(executor.getLogRetentionDays()); return xxlJobSpringExecutor; } }