Quellcode durchsuchen

fix: 线程变量执行完成时1清除

Marko552 vor 4 Jahren
Ursprung
Commit
4f029c1527

+ 3 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/TokenInterceptor.java

@@ -103,5 +103,8 @@ public class TokenInterceptor implements HandlerInterceptor {
     public void afterCompletion(HttpServletRequest httpServletRequest,
                                 HttpServletResponse httpServletResponse,
                                 Object o, Exception e) throws Exception {
+
+        userUtil.removeLocalCache();
+
     }
 }

+ 9 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/util/UserUtil.java

@@ -77,6 +77,15 @@ public class UserUtil {
         return USER_WHOLE_THREAD_LOCAL.get();
     }
 
+    public void removeLocalCache() {
+        if(USER_WHOLE_THREAD_LOCAL.get()!=null){
+            USER_WHOLE_THREAD_LOCAL.remove();
+        }
+        if(USER_THREAD_LOCAL.get()!=null){
+            USER_THREAD_LOCAL.remove();
+        }
+    }
+
     /**
     * 用户信息
     */

+ 16 - 5
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/GenerateCodeServiceImpl.java

@@ -310,16 +310,27 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
         FileItem fileItem = factory.createItem(fileName, "text/plain", true, file.getName());
         int bytesRead = 0;
         byte[] buffer = new byte[8192];
+        FileInputStream fis =null;
+        OutputStream os = null;
         try {
-            FileInputStream fis = new FileInputStream(file);
-            OutputStream os = fileItem.getOutputStream();
+            fis = new FileInputStream(file);
+            os = fileItem.getOutputStream();
             while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
                 os.write(buffer, 0, bytesRead);
             }
-            os.close();
-            fis.close();
         } catch (IOException e) {
-            e.printStackTrace();
+            log.warn("文件读取异常",e);
+        }finally {
+            try {
+                os.close();
+            } catch (IOException e) {
+                log.warn("文件流关闭失败",e);
+            }
+            try {
+                fis.close();
+            } catch (IOException e) {
+                log.warn("文件流关闭失败",e);
+            }
         }
 
         MultipartFile multipartFile = new CommonsMultipartFile(fileItem);

+ 0 - 2
abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/TableStoreTest.java

@@ -2,8 +2,6 @@ package com.abi.qms.platform;
 
 import cn.hutool.json.JSONUtil;
 import com.abi.task.common.tablestore.TableStoreUtils;
-import com.abi.task.common.tablestore.common.TableStoreReq;
-import com.abi.task.common.tablestore.common.TableStoreRes;
 import com.alicloud.openservices.tablestore.model.*;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;