Interface ModuleLoaderMXBean


public interface ModuleLoaderMXBean
An MXBean for getting runtime information about a module loader.
Author:
David M. Lloyd
  • Method Details

    • getDescription

      String getDescription()
      Get a description of this module loader.
      Returns:
      a description of this module loader
    • getLinkTime

      long getLinkTime()
      Get the estimated CPU time (in nanoseconds) spent linking in the life of this module loader.
      Returns:
      the estimated time in nanoseconds
    • getLoadTime

      long getLoadTime()
      Get the estimated CPU time (in nanoseconds) spent loading modules into this loader.
      Returns:
      the estimated time in nanoseconds
    • getClassDefineTime

      long getClassDefineTime()
      Get the estimated CPU time (in nanoseconds) spent defining classes for this loader.
      Returns:
      the estimated time in nanoseconds
    • getScanCount

      int getScanCount()
      Get the number of times that dependencies of a module from this loader have been scanned.
      Returns:
      the count
    • getLoadedModuleCount

      int getLoadedModuleCount()
      Get the number of modules currently loaded.
      Returns:
      the loaded module count
    • getRaceCount

      int getRaceCount()
      Get the number of times a class was defined by two threads at once.
      Returns:
      the race count
    • getClassCount

      int getClassCount()
      Get the number of classes defined in this module loader.
      Returns:
      the number of classes defined in this module loader
    • queryLoadedModuleNames

      List<String> queryLoadedModuleNames()
      Obtain a list of the current module names.
      Returns:
      the module names
    • dumpModuleInformation

      String dumpModuleInformation(String name)
      Dump all information for a single module as a string.
      Parameters:
      name - the module name
      Returns:
      the string of module information
    • dumpAllModuleInformation

      String dumpAllModuleInformation()
      Dump all information for all modules as a string.
      Returns:
      the string of module information
    • unloadModule

      boolean unloadModule(String name)
      Attempt to unload a module from this module loader.
      Parameters:
      name - the string form of the module identifier to unload
      Returns:
      true if the module was unloaded
    • refreshResourceLoaders

      void refreshResourceLoaders(String name)
      Attempt to refresh the resource loaders of the given module.
      Parameters:
      name - the name of the module to refresh
    • relink

      void relink(String name)
      Attempt to relink the given module.
      Parameters:
      name - the name of the module to relink
    • getDependencies

      List<DependencyInfo> getDependencies(String name)
      Get the dependencies of the named module.
      Parameters:
      name - the module name
      Returns:
      the module's dependencies
    • getResourceLoaders

      List<ResourceLoaderInfo> getResourceLoaders(String name)
      Get the resource loaders of the named module.
      Parameters:
      name - the module name
      Returns:
      the module's resource loaders
    • getModuleDescription

      ModuleInfo getModuleDescription(String name)
      Get the complete description of this module.
      Parameters:
      name - the module name
      Returns:
      the module description
    • getModulePathsInfo

      SortedMap<String,List<String>> getModulePathsInfo(String name, boolean exports)
      Get a paths map for a given module.
      Parameters:
      name - the module name
      exports - true for the exported paths, false for all paths
      Returns:
      the paths map information
    • getClassLocation

      String getClassLocation(String moduleName, String className)
      Get the code source location of a class within a module.
      Parameters:
      moduleName - the module name
      className - the class name
      Returns:
      the location, or null if the class isn't found or the location cannot be determined