Class ServiceModuleLoader

  • All Implemented Interfaces:
    org.jboss.msc.Service, org.jboss.msc.service.Service<ServiceModuleLoader>, org.jboss.msc.value.Value<ServiceModuleLoader>

    public class ServiceModuleLoader
    extends org.jboss.modules.ModuleLoader
    implements org.jboss.msc.service.Service<ServiceModuleLoader>
    ModuleLoader that loads module definitions from msc services. Module specs are looked up in msc services that correspond to the module names.

    Modules are automatically removed when the corresponding service comes down.

    Author:
    Stuart Douglas, Richard Opalka
    • Constructor Summary

      Constructors 
      Constructor Description
      ServiceModuleLoader​(org.jboss.modules.ModuleLoader mainModuleLoader)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void addService​(org.jboss.msc.service.ServiceTarget serviceTarget, Bootstrap.Configuration configuration)  
      org.jboss.modules.ModuleSpec findModule​(org.jboss.modules.ModuleIdentifier identifier)  
      ServiceModuleLoader getValue()  
      static void installModuleResolvedService​(org.jboss.msc.service.ServiceTarget serviceTarget, org.jboss.modules.ModuleIdentifier identifier)  
      static boolean isDynamicModule​(org.jboss.modules.ModuleIdentifier identifier)
      Returns true if the module identifier is a dynamic module that will be loaded by this module loader
      static org.jboss.msc.service.ServiceName moduleResolvedServiceName​(org.jboss.modules.ModuleIdentifier identifier)
      Returns the corresponding module resolved service name for the given module.
      static org.jboss.msc.service.ServiceName moduleServiceName​(org.jboss.modules.ModuleIdentifier identifier)
      Returns the corresponding ModuleLoadService service name for the given module.
      static org.jboss.msc.service.ServiceName moduleSpecServiceName​(org.jboss.modules.ModuleIdentifier identifier)
      Returns the corresponding ModuleSpec service name for the given module.
      protected org.jboss.modules.Module preloadModule​(String name)  
      void relinkModule​(org.jboss.modules.Module module)  
      void start​(org.jboss.msc.service.StartContext context)  
      void stop​(org.jboss.msc.service.StopContext context)  
      String toString()  
      • Methods inherited from class org.jboss.modules.ModuleLoader

        findLoadedModuleLocal, findLoadedModuleLocal, findModule, forClass, forClassLoader, getDependencies, getFinders, getModuleDescription, installMBeanServer, iterateModules, iterateModules, loadModule, loadModule, loadModuleLocal, loadModuleLocal, preloadExportedModule, preloadExportedModule, preloadModule, preloadModule, preloadModule, refreshResourceLoaders, relink, setAndRefreshResourceLoaders, setAndRelinkDependencies, unloadModuleLocal, unloadModuleLocal
    • Field Detail

      • MODULE_SPEC_SERVICE_PREFIX

        public static final org.jboss.msc.service.ServiceName MODULE_SPEC_SERVICE_PREFIX
      • MODULE_SERVICE_PREFIX

        public static final org.jboss.msc.service.ServiceName MODULE_SERVICE_PREFIX
      • MODULE_RESOLVED_SERVICE_PREFIX

        public static final org.jboss.msc.service.ServiceName MODULE_RESOLVED_SERVICE_PREFIX
    • Constructor Detail

      • ServiceModuleLoader

        public ServiceModuleLoader​(org.jboss.modules.ModuleLoader mainModuleLoader)
    • Method Detail

      • preloadModule

        protected org.jboss.modules.Module preloadModule​(String name)
                                                  throws org.jboss.modules.ModuleLoadException
        Overrides:
        preloadModule in class org.jboss.modules.ModuleLoader
        Throws:
        org.jboss.modules.ModuleLoadException
      • findModule

        public org.jboss.modules.ModuleSpec findModule​(org.jboss.modules.ModuleIdentifier identifier)
                                                throws org.jboss.modules.ModuleLoadException
        Overrides:
        findModule in class org.jboss.modules.ModuleLoader
        Throws:
        org.jboss.modules.ModuleLoadException
      • toString

        public String toString()
        Overrides:
        toString in class org.jboss.modules.ModuleLoader
      • start

        public void start​(org.jboss.msc.service.StartContext context)
                   throws org.jboss.msc.service.StartException
        Specified by:
        start in interface org.jboss.msc.Service
        Throws:
        org.jboss.msc.service.StartException
      • stop

        public void stop​(org.jboss.msc.service.StopContext context)
        Specified by:
        stop in interface org.jboss.msc.Service
      • relinkModule

        public void relinkModule​(org.jboss.modules.Module module)
                          throws org.jboss.modules.ModuleLoadException
        Throws:
        org.jboss.modules.ModuleLoadException
      • addService

        public static void addService​(org.jboss.msc.service.ServiceTarget serviceTarget,
                                      Bootstrap.Configuration configuration)
      • moduleSpecServiceName

        public static org.jboss.msc.service.ServiceName moduleSpecServiceName​(org.jboss.modules.ModuleIdentifier identifier)
        Returns the corresponding ModuleSpec service name for the given module.
        Parameters:
        identifier - The module identifier
        Returns:
        The service name of the ModuleSpec service
      • installModuleResolvedService

        public static void installModuleResolvedService​(org.jboss.msc.service.ServiceTarget serviceTarget,
                                                        org.jboss.modules.ModuleIdentifier identifier)
      • moduleResolvedServiceName

        public static org.jboss.msc.service.ServiceName moduleResolvedServiceName​(org.jboss.modules.ModuleIdentifier identifier)
        Returns the corresponding module resolved service name for the given module. The module resolved service is basically a latch that prevents the module from being loaded until all the transitive dependencies that it depends upon have have their module spec services come up.
        Parameters:
        identifier - The module identifier
        Returns:
        The service name of the ModuleSpec service
      • isDynamicModule

        public static boolean isDynamicModule​(org.jboss.modules.ModuleIdentifier identifier)
        Returns true if the module identifier is a dynamic module that will be loaded by this module loader
      • moduleServiceName

        public static org.jboss.msc.service.ServiceName moduleServiceName​(org.jboss.modules.ModuleIdentifier identifier)
        Returns the corresponding ModuleLoadService service name for the given module.
        Parameters:
        identifier - The module identifier
        Returns:
        The service name of the ModuleLoadService service