Skip to content

Commit 361d3be

Browse files
committed
Thread.currentThread().getContextClassLoader()はnullを返すことがあり得る。nullの場合は修正前のコードを実行する
1 parent 29f9f0a commit 361d3be

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/org/seasar/doma/jdbc/ClassHelper.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,15 @@ public interface ClassHelper {
3939
* 例外
4040
* @see Class#forName(String)
4141
*/
42+
@SuppressWarnings("unchecked")
4243
default <T> Class<T> forName(String className) throws Exception {
4344
try {
44-
@SuppressWarnings("unchecked")
45-
Class<T> clazz = (Class<T>) Thread.currentThread().getContextClassLoader().loadClass(className);
46-
return clazz;
45+
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
46+
if (classLoader == null) {
47+
return (Class<T>) Class.forName(className);
48+
} else {
49+
return (Class<T>) classLoader.loadClass(className);
50+
}
4751
} catch (ClassNotFoundException e) {
4852
throw new WrapException(e);
4953
}

0 commit comments

Comments
 (0)