xda 2 rokov pred
rodič
commit
ffc6e48c26

+ 17 - 1
src/main/java/com/winhc/repal/config/BeanConfig.java

@@ -1,5 +1,6 @@
 package com.winhc.repal.config;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
 import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
@@ -39,6 +40,8 @@ import java.util.List;
 @EnableApolloConfig({"application", "DEV.WINHC-COMMON"})
 public class BeanConfig {
 
+    @Value("${RUNTIME_ENV:}")
+    private String runtimeEnv;
 
     @Value("${xxl.job.accessToken}")
     private String accessToken;
@@ -58,16 +61,29 @@ public class BeanConfig {
     @Value("${xxl.job.admin.addresses}")
     private String adminAddress;
 
+    @Value("${NODE_IP:}")
+    private String nodeIp;
+
+    @Value("${xxl.address:}")
+    private String address;
+
     @ConditionalOnExpression("!'${WORK_ENV:}'.equals('LOCAL')")
     @Bean
     public XxlJobSpringExecutor xxlJobExecutor() {
         XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
-        xxlJobSpringExecutor.setPort(serverPort + 10000);
         xxlJobSpringExecutor.setAdminAddresses(adminAddress);
         xxlJobSpringExecutor.setAppname(appName);
         xxlJobSpringExecutor.setAccessToken(accessToken);
         xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
         xxlJobSpringExecutor.setLogPath(logPath);
+        if (StrUtil.isBlank(runtimeEnv)) {
+            xxlJobSpringExecutor.setPort(serverPort + 10000);
+        } else if ("K8S".equals(runtimeEnv)){
+            // 自定义注册地址
+            xxlJobSpringExecutor.setAddress(address);
+            xxlJobSpringExecutor.setIp(nodeIp);
+            xxlJobSpringExecutor.setPort(8081);
+        }
         return xxlJobSpringExecutor;
     }