public class HadoopClassLoader extends URLClassLoader implements ClassCache
Modifier and Type | Field and Description |
---|---|
static String |
CLS_DAEMON
Hadoop class name: Daemon.
|
static String |
CLS_DAEMON_REPLACE
Hadoop class name: Daemon replacement.
|
static String |
CLS_SHUTDOWN_HOOK_MANAGER
Hadoop class name: ShutdownHookManager.
|
static String |
CLS_SHUTDOWN_HOOK_MANAGER_REPLACE
Hadoop class name: ShutdownHookManager replacement.
|
Constructor and Description |
---|
HadoopClassLoader(URL[] urls,
String name,
String[] libNames,
HadoopHelper helper)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
Class<?> |
getFromCache(String clsName)
Get class for the given name.
|
static Collection<URL> |
hadoopUrls() |
static boolean |
loadByCurrentClassloader(String clsName)
Check whether file must be loaded with current class loader, or normal delegation model should be used.
|
protected Class<?> |
loadClass(String name,
boolean resolve) |
String |
name()
Getter for name field.
|
static String |
nameForJob(HadoopJobId jobId)
Classloader name for job.
|
static String |
nameForTask(HadoopTaskInfo info,
boolean prefix)
Gets name for the task class loader.
|
String |
toString() |
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
defineClass, defineClass
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
public static final String CLS_DAEMON
public static final String CLS_SHUTDOWN_HOOK_MANAGER
public static final String CLS_DAEMON_REPLACE
public static final String CLS_SHUTDOWN_HOOK_MANAGER_REPLACE
public HadoopClassLoader(URL[] urls, String name, @Nullable String[] libNames, HadoopHelper helper)
urls
- Urls.name
- Classloader name.libNames
- Optional additional native library names to be linked from parent classloader.public static String nameForJob(HadoopJobId jobId)
jobId
- Job ID.public static String nameForTask(HadoopTaskInfo info, boolean prefix)
info
- The task info.prefix
- Get only prefix (without task type and number)protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
loadClass
in class ClassLoader
ClassNotFoundException
public Class<?> getFromCache(String clsName) throws ClassNotFoundException
getFromCache
in interface ClassCache
clsName
- Class name.ClassNotFoundException
- If not found.public static boolean loadByCurrentClassloader(String clsName)
Override is only necessary for Ignite classes which have direct or transitive dependencies on Hadoop classes. These are all classes from "org.apache.ignite.internal.processors.hadoop.impl" package, and these are several well-know classes from "org.apache.ignite.hadoop" package.
clsName
- Class name.public static Collection<URL> hadoopUrls() throws IgniteCheckedException
IgniteCheckedException
- If failed.public String name()
Follow @ApacheIgnite
Ignite Fabric : ver. 2.0.0 Release Date : April 30 2017