Class ClassloaderUtils

java.lang.Object
org.gridgain.ignite.migrationtools.adapter.internal.ClassloaderUtils

public class ClassloaderUtils extends Object
Utility class that provides a method to setup the guest Classloader, where the adapter core modules are loaded.
  • Method Details

    • getGuestClassloader

      public static ClassLoader getGuestClassloader()
      Retrieves the guest classloader holding the GridGain 9 classes.
      Returns:
      The guest classloader.
    • loadRuntimeDependencies

      public static URL[] loadRuntimeDependencies(ClassLoader classLoader)
      Computes the paths for the adapter runtime dependencies.
      Parameters:
      classLoader - Classloader here the bootstrap class is located. Probably not needed.
      Returns:
      URLs for the runtime dependencies.
    • loadDependenciesFromResource

      public static URL[] loadDependenciesFromResource(ClassLoader classloader, String resource)
      Loads a dependencies file from the provided classloader and filename. The file contains the path of each dependency one per line.
      Parameters:
      classloader - Classloader that holds the resource.
      resource - Resource name
      Returns:
      List of URLs loaded from the resource file.
    • createClassLoader

      public static ClassLoader createClassLoader(ClassLoader hostClassLoader, ClassLoader parentClassloader, URL[] dependencies) throws IOException
      Creates the classloader for the adapter classes. This classloader imports ai2 classes from the host classloader.
      Parameters:
      hostClassLoader - ClassLoader with Ignite 2 classes to be imported.
      parentClassloader - Parent Classloader, should only contain classes from Ignite 3.
      dependencies - Migration Tools Adapter artifacts, plus any necessary third-party resources.
      Returns:
      ClassLoader holding the Adapter classes.
      Throws:
      IOException - In case of error loading information from the imported resources.