If this module's state is {@code UNINSTALLED} then an {@code IllegalStateException} is thrown.
The following steps are required to stop this module:
If this module is in the process of being activated or deactivated then this method must wait for activation or deactivation to complete before continuing. If this does not occur in a reasonable time, a {@code ModuleException} is thrown to indicate this module was unable tobe stopped.
If this module's state is not {@code ACTIVE} then this method returns immediately.
This module's state is set to {@code STOPPING}.
A module event of type {@link ModuleEvent#STOPPING} is fired.
The {@link ModuleActivator#stop(ModuleContext)} method of this module's {@code ModuleActivator}, if one is specified, is called. If that method throws an exception, this method must continue to stop this module and a {@code ModuleException} must be thrown aftercompletion of the remaining steps.
Any services registered by this module must be unregistered.
Any services used by this module must be released.
Any listeners registered by this module must be removed.
This module's state is set to {@code RESOLVED}.
A module event of type {@link ModuleEvent#STOPPED} is fired.
@throws ModuleException If the module cannot be started
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.