Skip to content

Commit 7aef1df

Browse files
committed
Applying review suggestion
1 parent fef0f83 commit 7aef1df

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/TraceContext.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -713,14 +713,15 @@ public int hashCode() {
713713
}
714714

715715
void setApplicationClassLoader(@Nullable ClassLoader classLoader) {
716-
if (classLoader != null && !ClassLoaderUtils.isAgentClassLoader(classLoader)) {
717-
WeakReference<ClassLoader> local = classLoaderWeakReferenceCache.get(classLoader);
718-
if (local == null) {
719-
local = new WeakReference<>(classLoader);
720-
classLoaderWeakReferenceCache.putIfAbsent(classLoader, local);
721-
}
722-
applicationClassLoader = local;
716+
if (ClassLoaderUtils.isBootstrapClassLoader(classLoader) || ClassLoaderUtils.isAgentClassLoader(classLoader)) {
717+
return;
718+
}
719+
WeakReference<ClassLoader> local = classLoaderWeakReferenceCache.get(classLoader);
720+
if (local == null) {
721+
local = new WeakReference<>(classLoader);
722+
classLoaderWeakReferenceCache.putIfAbsent(classLoader, local);
723723
}
724+
applicationClassLoader = local;
724725
}
725726

726727
@Nullable

apm-agent-core/src/main/java/co/elastic/apm/agent/util/ClassLoaderUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,8 @@ public static boolean isPersistentClassLoader(@Nullable ClassLoader classLoader)
4646
public static boolean isAgentClassLoader(@Nullable ClassLoader classLoader) {
4747
return classLoader != null && classLoader.getClass().getName().startsWith("co.elastic.apm");
4848
}
49+
50+
public static boolean isBootstrapClassLoader(@Nullable ClassLoader classLoader) {
51+
return classLoader == null;
52+
}
4953
}

0 commit comments

Comments
 (0)