瀏覽代碼

框架搭建

lwhhszx 2 年之前
父節點
當前提交
61d60d6329

+ 38 - 0
PAS/src/main/java/cn/cslg/pas/common/utils/SpringContextUtils.java

@@ -0,0 +1,38 @@
+package cn.cslg.pas.common.utils;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContextUtils implements ApplicationContextAware {
+    private static ApplicationContext applicationContext;
+
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        SpringContextUtils.applicationContext = applicationContext;
+    }
+
+    /**
+     * 获取 ApplicationContext
+     *
+     * @return
+     */
+    public static ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
+
+    public static Object getBean(String name) {
+        return applicationContext.getBean(name);
+    }
+
+    public static <T> T getBean(Class<T> clazz) {
+        return applicationContext.getBean(clazz);
+    }
+
+    public static <T> T getBean(String name, Class<T> clazz) {
+        return applicationContext.getBean(name, clazz);
+    }
+
+}

+ 7 - 4
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/PantentQueueService.java

@@ -35,11 +35,13 @@ public class PantentQueueService {
     private Queue<UploadParamsVO> queue = new LinkedList<>();
     private  List<Integer> taskQueueList = new ArrayList<>();
     private Boolean flag = false;
-    private CountDownLatch patentLatch = new CountDownLatch(10);
-    private CountDownLatch taskLatch = new CountDownLatch(10);
+    private CountDownLatch patentLatch = new CountDownLatch(1);
+    private CountDownLatch taskLatch = new CountDownLatch(1);
     //将专利信息存入队列
     public void addPatnetToQueue() {
         try {
+
+         while (true){
             //检查任务队列
             if (taskQueueList.size() == 0) {
                 taskLatch.await();
@@ -63,7 +65,7 @@ public class PantentQueueService {
             //检查文件合法性
             Integer totalRow = ReadExcelUtils.textExcel(filePath);
             //调用解析数据类,根据数据来源id(如1:智慧芽)解析数据源配置文件信息
-            List<UploadSettingVO.Column> jsonData = excuteUploadSettingService.ExcuteUploadSetting(1+"");
+            List<UploadSettingVO.Column> jsonData = excuteUploadSettingService.ExcuteUploadSetting(1 + "");
             //遍历专利总数量,在循环中保存专利
             for (int i = 1; i <= totalRow; i++) {
                 //解析读取一行专利
@@ -81,6 +83,7 @@ public class PantentQueueService {
             //全部循环结束后,发送进度
             Long percentage = 100L;
             messageService.sendWebsocketMessage(task, totalRow, totalRow, percentage);
+        }
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -111,7 +114,7 @@ public class PantentQueueService {
         this.taskQueueList.addAll(taskQueueList);
     }
     public void awakeTasktch(){
-        taskLatch.countDown();
+       this.taskLatch.countDown();
 
     }
 }

+ 3 - 3
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/UploadTaskService.java

@@ -43,9 +43,9 @@ public class UploadTaskService {
         //获取专利总数量
         Integer total = ReadExcelUtils.textExcel(filePath);
         //新增任务(专利导入导出任务表)
-      Integer taskId =  taskService.add(fileDTO, projectImportPatentVO.getProjectId(), null, total, 1, 0, file.getOriginalFilename());
-       pantentQueueService.queueAddTask(Arrays.asList(taskId));
-       pantentQueueService.awakeTasktch();
+        Integer taskId = taskService.add(fileDTO, projectImportPatentVO.getProjectId(), null, total, 1, 0, file.getOriginalFilename());
+        pantentQueueService.queueAddTask(Arrays.asList(taskId));
+        pantentQueueService.awakeTasktch();
     }
 
     public void pauseTask() {