Repository: kylin Updated Branches: refs/heads/master 5b942267f -> 807395787
KYLIN-2716: remove non-thread-safe WeakHashMap for ClassUtil Signed-off-by: Li Yang <liy...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/bdb3a5fd Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/bdb3a5fd Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/bdb3a5fd Branch: refs/heads/master Commit: bdb3a5fde7635ab3601abdaf6c2e2653ccd5ac60 Parents: 5b94226 Author: Zhong <nju_y...@apache.org> Authored: Wed Aug 2 15:37:44 2017 +0800 Committer: Li Yang <liy...@apache.org> Committed: Sun Aug 20 17:24:35 2017 +0800 ---------------------------------------------------------------------- .../java/org/apache/kylin/common/util/ClassUtil.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/bdb3a5fd/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java ---------------------------------------------------------------------- diff --git a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java index 0eb1af5..a78cb48 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java @@ -27,7 +27,6 @@ import java.net.URLDecoder; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; -import java.util.WeakHashMap; import org.slf4j.LoggerFactory; @@ -54,7 +53,6 @@ public class ClassUtil { } } - private static final WeakHashMap<String, Class<?>> forNameCache = new WeakHashMap<>(); private static final Map<String, String> classRenameMap; static { classRenameMap = new HashMap<>(); @@ -71,15 +69,8 @@ public class ClassUtil { @SuppressWarnings("unchecked") public static <T> Class<? extends T> forName(String name, Class<T> clz) throws ClassNotFoundException { - String origName = name; - - Class<? extends T> result = (Class<? extends T>) forNameCache.get(origName); - if (result == null) { - name = forRenamedClass(name); - result = (Class<? extends T>) Class.forName(name); - forNameCache.put(origName, result); - } - return result; + name = forRenamedClass(name); + return (Class<? extends T>) Class.forName(name); } private static String forRenamedClass(String name) {