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(); } }