From 343471f0610b3ff54d509aa4f53744fa77297373 Mon Sep 17 00:00:00 2001 From: Simple <2424585654@qq.com> Date: Fri, 17 Nov 2023 15:16:39 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E9=A6=96=E6=AC=A1?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E8=AF=B7=E6=B1=82,=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=88=9B=E5=BB=BAOSS=E5=AE=9E=E4=BE=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/oss/factory/OssFactory.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java index 6503eb133..b646b5db1 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java @@ -49,9 +49,14 @@ public class OssFactory { String key = properties.getTenantId() + ":" + configKey; OssClient client = CLIENT_CACHE.get(key); if (client == null) { - CLIENT_CACHE.put(key, new OssClient(configKey, properties)); - log.info("创建OSS实例 key => {}", configKey); - return CLIENT_CACHE.get(key); + synchronized (CLIENT_CACHE) { + client = CLIENT_CACHE.get(key); + if (client == null) { + CLIENT_CACHE.put(key, new OssClient(configKey, properties)); + log.info("创建OSS实例 key => {}", configKey); + return CLIENT_CACHE.get(key); + } + } } // 配置不相同则重新构建 if (!client.checkPropertiesSame(properties)) {