Class ClassloaderUtils
java.lang.Object
org.gridgain.ignite.migrationtools.adapter.internal.ClassloaderUtils
Utility class that provides a method to setup the guest Classloader, where the adapter core modules are loaded.
-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassLoadercreateClassLoader(ClassLoader hostClassLoader, ClassLoader parentClassloader, URL[] dependencies) Creates the classloader for the adapter classes.static ClassLoaderRetrieves the guest classloader holding the GridGain 9 classes.static URL[]loadDependenciesFromResource(ClassLoader classloader, String resource) Loads a dependencies file from the provided classloader and filename.static URL[]loadRuntimeDependencies(ClassLoader classLoader) Computes the paths for the adapter runtime dependencies.
-
Method Details
-
getGuestClassloader
Retrieves the guest classloader holding the GridGain 9 classes.- Returns:
- The guest classloader.
-
loadRuntimeDependencies
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
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.
-