From 3b6ced8185a19c9377aa2a059142f15e3b23cd88 Mon Sep 17 00:00:00 2001 From: bleachtred <bleachtred@163.com> Date: 星期一, 27 三月 2023 16:35:12 +0800 Subject: [PATCH] update 优化BaseMapperPlus接口 去除 @param <M> Mapper 泛型 --- ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java | 42 +++++++++++++----------------------------- 1 files changed, 13 insertions(+), 29 deletions(-) diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java index 885c7be..82467ef 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java @@ -25,21 +25,6 @@ private static final Map<String, OssClient> CLIENT_CACHE = new ConcurrentHashMap<>(); /** - * 鍒濆鍖栧伐鍘� - */ - public static void init() { - log.info("鍒濆鍖朞SS宸ュ巶"); - RedisUtils.subscribe(OssConstant.DEFAULT_CONFIG_KEY, String.class, configKey -> { - OssClient client = getClient(configKey); - // 鏈垵濮嬪寲涓嶅鐞� - if (client != null) { - refresh(configKey); - log.info("璁㈤槄鍒锋柊OSS閰嶇疆 => " + configKey); - } - }); - } - - /** * 鑾峰彇榛樿瀹炰緥 */ public static OssClient instance() { @@ -55,25 +40,24 @@ * 鏍规嵁绫诲瀷鑾峰彇瀹炰緥 */ public static OssClient instance(String configKey) { - OssClient client = getClient(configKey); - if (client == null) { - refresh(configKey); - return getClient(configKey); - } - return client; - } - - private static void refresh(String configKey) { String json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey); if (json == null) { throw new OssException("绯荤粺寮傚父, '" + configKey + "'閰嶇疆淇℃伅涓嶅瓨鍦�!"); } OssProperties properties = JsonUtils.parseObject(json, OssProperties.class); - CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); - } - - private static OssClient getClient(String configKey) { - return CLIENT_CACHE.get(configKey); + OssClient client = CLIENT_CACHE.get(configKey); + if (client == null) { + CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); + log.info("鍒涘缓OSS瀹炰緥 key => {}", configKey); + return CLIENT_CACHE.get(configKey); + } + // 閰嶇疆涓嶇浉鍚屽垯閲嶆柊鏋勫缓 + if (!client.checkPropertiesSame(properties)) { + CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); + log.info("閲嶈浇OSS瀹炰緥 key => {}", configKey); + return CLIENT_CACHE.get(configKey); + } + return client; } } -- Gitblit v1.9.3