From 5f5a7cc3ae44b1a156a049518d027c1f1108ed8f Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 9 Jul 2020 04:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/common/TenantThreadLocal.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/common/TenantThreadLocal.java b/mallinkService/src/main/java/com/iformall/common/TenantThreadLocal.java index 6ec1462dd..0e7c3e39b 100644 --- a/mallinkService/src/main/java/com/iformall/common/TenantThreadLocal.java +++ b/mallinkService/src/main/java/com/iformall/common/TenantThreadLocal.java @@ -1,26 +1,35 @@ package com.iformall.common; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; + public class TenantThreadLocal { - private static ThreadLocal local = new ThreadLocal(); - private static ThreadLocal parentLocal = new ThreadLocal(); + //private static ThreadLocal local = new ThreadLocal(); + //private static ThreadLocal parentLocal = new ThreadLocal(); public static void setCurrentThreadTenant(String tenantId,String parentId) { - local.set(tenantId); - parentLocal.set(parentId); + RequestContextHolder.currentRequestAttributes().setAttribute("tenaneId", tenantId, RequestAttributes.SCOPE_REQUEST); + RequestContextHolder.currentRequestAttributes().setAttribute("parentTenaneId", parentId, RequestAttributes.SCOPE_REQUEST); + //local.set(tenantId); + //parentLocal.set(parentId); } public static String getTenantId() { - return local.get(); + return (String)RequestContextHolder.currentRequestAttributes().getAttribute("tenaneId", RequestAttributes.SCOPE_REQUEST); + //return local.get(); } public static String getParentTenantId() { - return parentLocal.get(); + return (String)RequestContextHolder.currentRequestAttributes().getAttribute("parentTenaneId", RequestAttributes.SCOPE_REQUEST); + //return parentLocal.get(); } public static void remove() { - local.remove(); - parentLocal.remove(); + RequestContextHolder.currentRequestAttributes().removeAttribute("tenaneId", RequestAttributes.SCOPE_REQUEST); + RequestContextHolder.currentRequestAttributes().removeAttribute("parentTenaneId", RequestAttributes.SCOPE_REQUEST); + //local.remove(); + //parentLocal.remove(); } }