You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by vi...@apache.org on 2019/09/19 03:13:05 UTC

[dubbo] branch 2.7.4-release updated: revert #5072 by logging error msg. (#5084)

This is an automated email from the ASF dual-hosted git repository.

victory pushed a commit to branch 2.7.4-release
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/2.7.4-release by this push:
     new 2443767  revert #5072 by logging error msg. (#5084)
2443767 is described below

commit 2443767c4677fca145e59da703e6662dbaf1414c
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Sep 19 11:12:58 2019 +0800

    revert #5072 by logging error msg. (#5084)
---
 .../apache/dubbo/common/extension/ExtensionLoader.java    | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java b/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java
index d951653..bdaf493 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java
@@ -492,15 +492,12 @@ public class ExtensionLoader<T> {
         return (T) instance;
     }
 
-    private void findException(String name) {
+    private IllegalStateException findException(String name) {
         for (Map.Entry<String, IllegalStateException> entry : exceptions.entrySet()) {
             if (entry.getKey().toLowerCase().contains(name.toLowerCase())) {
-                throw entry.getValue();
+                return entry.getValue();
             }
         }
-    }
-
-    private IllegalStateException noExtensionException(String name) {
         StringBuilder buf = new StringBuilder("No such extension " + type.getName() + " by name " + name);
 
 
@@ -522,11 +519,9 @@ public class ExtensionLoader<T> {
 
     @SuppressWarnings("unchecked")
     private T createExtension(String name) {
-        // throws any possible exception in loading period.
-        findException(name);
         Class<?> clazz = getExtensionClasses().get(name);
         if (clazz == null) {
-            throw noExtensionException(name);
+            throw findException(name);
         }
         try {
             T instance = (T) EXTENSION_INSTANCES.get(clazz);
@@ -777,7 +772,9 @@ public class ExtensionLoader<T> {
         if (c == null) {
             extensionClasses.put(name, clazz);
         } else if (c != clazz) {
-            throw new IllegalStateException("Duplicate extension " + type.getName() + " name " + name + " on " + c.getName() + " and " + clazz.getName());
+            String duplicateMsg = "Duplicate extension " + type.getName() + " name " + name + " on " + c.getName() + " and " + clazz.getName();
+            logger.error(duplicateMsg);
+            throw new IllegalStateException(duplicateMsg);
         }
     }