Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/V0.1.1' into V0.1.1

jingyuanchao 1 anno fa
parent
commit
ee2ba53889

+ 2 - 2
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/AsyncServiceImpl.java

@@ -119,7 +119,7 @@ public class AsyncServiceImpl implements AsyncService {
             info.setStatus(appRunningInfo.getStatus());
             info.setVersion(appRunningInfo.getVersion());
             info.setHostId(hostId);
-            info.setHotfixes(appRunningInfo.getHotfixes());
+            info.setHotfixes(JSON.toJSONString(appRunningInfo.getHotfixes()));
             infos.add(info);
         }
 
@@ -223,7 +223,7 @@ public class AsyncServiceImpl implements AsyncService {
                 extend.setStatus(runningInfo.getStatus());
                 extend.setVersion(runningInfo.getVersion());
                 extend.setHostId(hostId);
-                extend.setHotfixes(runningInfo.getHotfixes());
+                extend.setHotfixes(JSON.toJSONString(runningInfo.getHotfixes()));
             }
             dataList.add(extend);
         }

+ 5 - 5
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/BeringServiceImpl.java

@@ -245,11 +245,11 @@ public class BeringServiceImpl  extends ServiceImpl<HostInfoDao, HostInfo> imple
 
         }
 
-        String description = heartBeat.getDescription();
-        if(StringUtils.isBlank(description)){
-            logger.error("白令海节点描述不能为空!");
-            throw new RuntimeException("白令海节点描述不能为空!");
-        }
+//        String description = heartBeat.getDescription();
+//        if(StringUtils.isBlank(description)){
+//            logger.error("白令海节点描述不能为空!");
+//            throw new RuntimeException("白令海节点描述不能为空!");
+//        }
 
         //根据token获取主机信息
         TokenCache tokenCache = null;

+ 52 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/util/ExecutorConfig.java

@@ -0,0 +1,52 @@
+package com.xunmei.deploy.util;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @author gaoxiong
+ * @Title:
+ * @Package
+ * @Description:
+ * @date 2021/4/89:21
+ */
+@Configuration
+@EnableAsync
+public class ExecutorConfig {
+
+    @Value("${async.executor.thread.core_pool_size}")
+    private int corePoolSize;
+    @Value("${async.executor.thread.max_pool_size}")
+    private int maxPoolSize;
+    @Value("${async.executor.thread.queue_capacity}")
+    private int queueCapacity;
+    @Value("${async.executor.thread.name.prefix}")
+    private String namePrefix;
+
+
+    @Bean(name = "asyncServiceExecutor")
+    public Executor asyncServiceExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        //配置核心线程数
+        executor.setCorePoolSize(corePoolSize);
+        //配置最大线程数
+        executor.setMaxPoolSize(maxPoolSize);
+        //配置队列大小
+        executor.setQueueCapacity(queueCapacity);
+        //配置线程池中的线程的名称前缀
+        executor.setThreadNamePrefix(namePrefix);
+
+        // rejection-policy:当pool已经达到max size的时候,如何处理新任务
+        // CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        //执行初始化
+        executor.initialize();
+        return executor;
+    }
+}

+ 4 - 1
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/vo/heart/AppRunningInfo.java

@@ -1,7 +1,10 @@
 package com.xunmei.deploy.vo.heart;
 
+import com.xunmei.deploy.vo.appinfo.HotfixVo;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 应用运行信息
  */
@@ -44,7 +47,7 @@ public class AppRunningInfo {
     private String description;
 
     /**补丁包**/
-    private String hotfixes;
+    private List<HotfixVo> hotfixes;
 
 
 }

+ 9 - 0
soc-modules/soc-modules-deploy/src/main/resources/bootstrap.yml

@@ -35,6 +35,15 @@ logging:
   file:
     name: logs/${spring.application.name}/info.log
 
+async:
+  executor:
+    thread:
+       core_pool_size: 10
+       max_pool_size: 100
+       queue_capacity: 99999
+       name:
+         prefix: async-service-
+
 package:
   basePath:
     linux: /home/zmoon/package