ソースを参照

Merge pull request #250 from skybber/master

Control ctxClassLoader usage per thread
tags/rel_3_25_0_ga
Shigeru Chiba 5年前
コミット
50430c10be
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更16行の追加1行の削除
  1. 16
    1
      src/main/javassist/runtime/Desc.java

+ 16
- 1
src/main/javassist/runtime/Desc.java ファイルの表示

@@ -34,10 +34,25 @@ public class Desc {
*/
public static boolean useContextClassLoader = false;

private static final ThreadLocal<Boolean> USE_CONTEXT_CLASS_LOADER_LOCALLY = new ThreadLocal<Boolean>() {
@Override
protected Boolean initialValue() {
return false;
}
};

public static void setUseContextClassLoaderLocally() {
USE_CONTEXT_CLASS_LOADER_LOCALLY.set(true);
}

public static void resetUseContextClassLoaderLocally() {
USE_CONTEXT_CLASS_LOADER_LOCALLY.remove();
}

private static Class<?> getClassObject(String name)
throws ClassNotFoundException
{
if (useContextClassLoader)
if (useContextClassLoader || USE_CONTEXT_CLASS_LOADER_LOCALLY.get())
return Class.forName(name, true, Thread.currentThread().getContextClassLoader());
return Class.forName(name);
}

読み込み中…
キャンセル
保存