You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2020/04/20 04:50:43 UTC
[dubbo] branch master updated: revert computeIfAbsent for jdk
related bug: (#6032)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 00cdc53 revert computeIfAbsent for jdk related bug: (#6032)
00cdc53 is described below
commit 00cdc531600c7392ad91bd43f93aca2ef9ae54c5
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Apr 20 12:50:11 2020 +0800
revert computeIfAbsent for jdk related bug: (#6032)
https://bugs.openjdk.java.net/browse/JDK-8062841
---
.../java/org/apache/dubbo/common/extension/ExtensionLoader.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
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 147f290..844b51b 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
@@ -141,7 +141,13 @@ public class ExtensionLoader<T> {
throw new IllegalArgumentException("Extension type (" + type +
") is not an extension, because it is NOT annotated with @" + SPI.class.getSimpleName() + "!");
}
- return (ExtensionLoader<T>) EXTENSION_LOADERS.computeIfAbsent(type, k -> new ExtensionLoader<T>(type));
+
+ ExtensionLoader<T> loader = (ExtensionLoader<T>) EXTENSION_LOADERS.get(type);
+ if (loader == null) {
+ EXTENSION_LOADERS.putIfAbsent(type, new ExtensionLoader<T>(type));
+ loader = (ExtensionLoader<T>) EXTENSION_LOADERS.get(type);
+ }
+ return loader;
}
// For testing purposes only