Class LRMIClassLoadersHolder

java.lang.Object
com.gigaspaces.lrmi.classloading.LRMIClassLoadersHolder

public class LRMIClassLoadersHolder extends Object
acts as a classloader delegator to an IClassProvider based classloader that loads class definitions from a specific source. every class loader is assign to a specific target using the class provider. every is class will be loaded by one and only one classloader. the devision into source related classloaders allow late classloading to be performed transparently as the caller classloader of the requested class will use the class provider to retreive additional class definitions from the same source.
Since:
6.5
Author:
asy ronen
  • Constructor Details

    • LRMIClassLoadersHolder

      public LRMIClassLoadersHolder()
  • Method Details

    • loadClass

      public static Class<?> loadClass(String className) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • loadClassFromExistingOnly

      public static Class<?> loadClassFromExistingOnly(String className) throws ClassNotFoundException
      Attempts to load the specified class name from the current service class loader context lrmi class loader childs This is done in a non blocking fashion to reduce contention, it will not create any new lrmi class loader instances like loadClass(String) method, it will fail if there isn't an already existing lrmi class loader which has loaded this class
      Returns:
      class instance
      Throws:
      ClassNotFoundException
    • logWarningOnExceptionCreatingLRMIClassLoader

      protected static void logWarningOnExceptionCreatingLRMIClassLoader(String className, LRMIRemoteClassLoaderIdentifier identifier, Exception e)
    • dropAllClasses

      public static void dropAllClasses()
    • dropClass

      public static void dropClass(String className)
    • getServiceClassLoaderContext

      public static ServiceClassLoaderContext getServiceClassLoaderContext(ClassLoader classLoader)