package com.xmzs.common.job.config; import com.xmzs.common.job.config.properties.XxlJobProperties; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; /** * xxl-job config * * @author Lion Li */ @Slf4j @AutoConfiguration @EnableConfigurationProperties(XxlJobProperties.class) @ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true") public class XxlJobConfig { @Bean public XxlJobSpringExecutor xxlJobExecutor(XxlJobProperties xxlJobProperties) { 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; } }