Class AgentClassLoader

All Implemented Interfaces:
Closeable, AutoCloseable

public class AgentClassLoader extends URLClassLoader
Classloader used to run the core agent.

It is built around the concept of a jar inside another jar. This class loader loads the files of the internal jar to load classes and resources.

  • Constructor Details

    • AgentClassLoader

      public AgentClassLoader(File javaagentFile)
    • AgentClassLoader

      public AgentClassLoader(File javaagentFile, String internalJarFileName, boolean isSecurityManagerSupportEnabled)
      Construct a new AgentClassLoader.
      Parameters:
      javaagentFile - Used for resource lookups.
      internalJarFileName - File name of the internal jar
      isSecurityManagerSupportEnabled - Whether this class loader should define classes with all permissions
    • AgentClassLoader

      public AgentClassLoader(File javaagentFile, String internalJarFileName, boolean isSecurityManagerSupportEnabled, @Nullable ClassLoader parentClassLoader)
      Construct a new AgentClassLoader with a custom parent ClassLoader. This is used by some 3rd party command-line utilities in order to reuse classes that are bundled as classdata files under `inst/`.
      Parameters:
      javaagentFile - Used for resource lookups.
      internalJarFileName - File name of the internal jar
      isSecurityManagerSupportEnabled - Whether this class loader should define classes with all permissions
      parentClassLoader - Custom parent ClassLoader to use. If null, the default parent will be used.
  • Method Details