From 5f7141c09fdcfd4ed7ec6db42069133ad978880e Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sun, 24 Oct 2021 00:15:07 +0800 Subject: [PATCH] 新增本地缓存方法,逐步替换redis --- zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java | 46 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 37 insertions(+), 9 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java b/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java index a9f0527..fa4c035 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java +++ b/zq-erp/src/main/java/com/matrix/system/common/init/InitWebContainer.java @@ -4,16 +4,24 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import javax.servlet.ServletContext; import com.matrix.core.exception.GlobleException; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; +import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysCompany; import com.matrix.system.common.service.SysCompanyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.web.context.ServletContextAware; @@ -25,12 +33,14 @@ * @author:姜友瑶 * @date 2016年10月18日 */ -@Controller -public class InitWebContainer implements ServletContextAware{ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE) +public class InitWebContainer implements ApplicationRunner { + + + private static ConcurrentMap<String,Object> localCache=new ConcurrentHashMap(60); private static final String TRUE = "true"; - - private ServletContext servletContext; static private final String LANGUAGE_ZH = "zh"; @@ -56,12 +66,10 @@ * * 容器启动后加载数据 * @author:姜友瑶 - * @param sc * @date 2016年10月18日 */ @Override - public void setServletContext(ServletContext sc) { - this.servletContext = sc; + public void run(ApplicationArguments args) { // 初始化调试模式 initDebug(); @@ -70,7 +78,7 @@ //初始化公司 initParams(); LogUtil.info("\r\n\r\n**********************************************\r\n" - + "* =========== Matrix启动成功 ===========\r\n" + + "* =========== 成功 ===========\r\n" + "* DEBUG模式:" + debug+"*\r\n" + "* 语言环境:" + Locale.getDefault().getLanguage()+"\r\n" @@ -118,10 +126,30 @@ for (SysCompany sysCompany : company) { companyMap.put(sysCompany.getComWebUrl(), sysCompany); } - servletContext.setAttribute("companyMap", companyMap); + saveLocalCache("companyMap", companyMap); } + /** + * 获取本地缓存 + * @param key + * @param <T> + * @return + */ + public static <T> T getLocalCache(String key){ + return (T)localCache.get(key); + } + + /** + * 保存一个本地缓存 + * @param key + * @param value + */ + public static void saveLocalCache(String key,Object value){ + if(null!=localCache.put(key,value)){ + LogUtil.debug("覆盖原有缓存{}",key); + } + } } -- Gitblit v1.9.1