|
|
@@ -0,0 +1,87 @@ |
|
|
|
package com.tuoheng.common.config.xxl; |
|
|
|
|
|
|
|
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
|
|
|
import org.springframework.context.annotation.Bean; |
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author: 吴彬 |
|
|
|
* @CreateTime: 2023-05-29 19:09 |
|
|
|
* @Description: xxl-job config |
|
|
|
* @Version: 1.0 |
|
|
|
*/ |
|
|
|
@Configuration |
|
|
|
@ConditionalOnProperty(name = XxlJobConfig.XXL_ENABLE, havingValue = XxlJobConfig.TRUE) |
|
|
|
public class XxlJobConfig { |
|
|
|
|
|
|
|
public static final String XXL_ENABLE = "xxl.enable"; |
|
|
|
|
|
|
|
public static final String TRUE = "true"; |
|
|
|
|
|
|
|
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() throws InterruptedException { |
|
|
|
logger.info(">>>>>>>>>>> xxl-job config init."); |
|
|
|
Thread.sleep(5000); |
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP; |
|
|
|
* |
|
|
|
* 1、引入依赖: |
|
|
|
* <dependency> |
|
|
|
* <groupId>org.springframework.cloud</groupId> |
|
|
|
* <artifactId>spring-cloud-commons</artifactId> |
|
|
|
* <version>${version}</version> |
|
|
|
* </dependency> |
|
|
|
* |
|
|
|
* 2、配置文件,或者容器启动变量 |
|
|
|
* spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.' |
|
|
|
* |
|
|
|
* 3、获取IP |
|
|
|
* String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
} |