From d9372e94cfb9539d46dad4381002e9cffb67cc6f Mon Sep 17 00:00:00 2001 From: ruying408 <1877972603@qq.com> Date: Wed, 13 Nov 2024 21:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=E7=9F=AD=E4=BF=A1=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=8F=92=E4=BB=B6=E6=9C=AA=E6=89=BE=E5=88=B0=E6=8A=9B?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/core/plugin/service/CoolPluginService.java | 9 ++++++++- .../core/plugin/service/DynamicJarLoaderService.java | 12 +++++++++--- .../java/com/cool/modules/user/util/UserSmsUtil.java | 4 ++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/cool/core/plugin/service/CoolPluginService.java b/src/main/java/com/cool/core/plugin/service/CoolPluginService.java index f6f8756..16b57d4 100644 --- a/src/main/java/com/cool/core/plugin/service/CoolPluginService.java +++ b/src/main/java/com/cool/core/plugin/service/CoolPluginService.java @@ -328,9 +328,16 @@ public class CoolPluginService { } /** - * 获取插件实例对象 + * 获取插件实例对象,插件未找到,抛出异常 */ public Object getInstance(String key) { return dynamicJarLoaderService.getBeanInstance(key); } + + /** + * 获取插件实例对象,插件未找到,不抛出异常 + */ + public Object getInstanceWithoutCheck(String key) { + return dynamicJarLoaderService.getInstanceWithoutCheck(key); + } } \ No newline at end of file diff --git a/src/main/java/com/cool/core/plugin/service/DynamicJarLoaderService.java b/src/main/java/com/cool/core/plugin/service/DynamicJarLoaderService.java index ffc4ce6..281a135 100644 --- a/src/main/java/com/cool/core/plugin/service/DynamicJarLoaderService.java +++ b/src/main/java/com/cool/core/plugin/service/DynamicJarLoaderService.java @@ -166,17 +166,23 @@ public class DynamicJarLoaderService { } /** - * 获取插件实例对象 + * 获取插件实例对象,插件未找到,抛出异常 */ public Object getBeanInstance(String key) { + Object instance = getInstanceWithoutCheck(key); + CoolPreconditions.checkEmpty(instance,"插件 {} 未找到", key); + return instance; + } + /** + * 获取插件实例对象,插件未找到,不抛出异常 + */ + public Object getInstanceWithoutCheck(String key) { CoolPreconditions.checkEmpty(key, "插件key is null"); if (pluginMap.containsKey(key)) { return pluginMap.get(key); } - CoolPreconditions.alwaysThrow("插件 {} 未找到", key); return null; } - /** * 获取自定义类加载器 */ diff --git a/src/main/java/com/cool/modules/user/util/UserSmsUtil.java b/src/main/java/com/cool/modules/user/util/UserSmsUtil.java index cb39a54..43c5aff 100644 --- a/src/main/java/com/cool/modules/user/util/UserSmsUtil.java +++ b/src/main/java/com/cool/modules/user/util/UserSmsUtil.java @@ -76,10 +76,10 @@ public class UserSmsUtil { Map params = new HashMap<>(); params.put("code", code); // 插件key sms-tx、sms-ali,哪个实例存在就调用哪个 - if (coolPluginService.getInstance("sms-tx") != null) { + if (coolPluginService.getInstanceWithoutCheck("sms-tx") != null) { // 调用腾讯短信插件 CoolPluginInvokers.invoke("sms-tx", "send", phones, params); - } else if (coolPluginService.getInstance("sms-ali") != null) { + } else if (coolPluginService.getInstanceWithoutCheck("sms-ali") != null) { // 调用阿里短信插件 CoolPluginInvokers.invoke("sms-ali", "send", phones, params); } else {