Class ExtensionClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- io.opentelemetry.javaagent.tooling.ExtensionClassLoader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class ExtensionClassLoader extends URLClassLoader
This class creates a classloader which encapsulates arbitrary extensions for Otel Java instrumentation agent. Such extensions may include SDK components (exporters or propagators) and additional instrumentations. They have to be isolated and shaded to reduce interference with the user application and to make it compatible with shaded SDK used by the agent. Thus each extension jar gets a separate classloader and all of them are aggregated with the help ofMultipleParentClassLoader.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ClassLoadergetInstance(ClassLoader parent, File javaagentFile)-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Method Detail
-
getInstance
public static ClassLoader getInstance(ClassLoader parent, File javaagentFile)
-
-