File tree Expand file tree Collapse file tree 2 files changed +12
-7
lines changed
apm-agent-core/src/main/java/co/elastic/apm/agent Expand file tree Collapse file tree 2 files changed +12
-7
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments