Module
class collects together the instructions and data into an AVR assembly program.
@author Ben L. Titzer
Noise modules may base the generation of noise values on anything at all, including the output of other modules. However, the noise value of a module at a given location must be deterministic.
The module URI gets initialized with the filename, resource or URL being read, however may be overridden and has not further meaning to the deployment.
The archive name and user object are opportunities to attach additional deployment information.
Your Module classes can use a more streamlined syntax by extending {@link AbstractModule} rather than implementing this interface directly.
@author Alejandro Abdelnur
@author Alejandro Abdelnur
This object can be obtained from {@link Container#getSPI(Class)}.
The scope of the module is driven by {@link W3CEndpointReferenceBuilder#build()}'s requirement that we need to identify a {@link WSEndpoint} that has a specificservice/port name.
For JavaEE containers this should be scoped to a JavaEE application. For other environment, this could be scoped to any similar notion. If no such notion is available, the implementation of {@link Container} can returna new {@link Module} object each time {@link Container#getSPI(Class)} is invoked.
There's a considerable overlap between this and {@link HttpAdapterList}. The SPI really needs to be reconsidered @see Container @author Kohsuke Kawaguchi @since 2.1 EA3
This object can be obtained from {@link Container#getSPI(Class)}.
The scope of the module is driven by {@link W3CEndpointReferenceBuilder#build()}'s requirement that we need to identify a {@link WSEndpoint} that has a specificservice/port name.
For JavaEE containers this should be scoped to a JavaEE application. For other environment, this could be scoped to any similar notion. If no such notion is available, the implementation of {@link Container} can returna new {@link Module} object each time {@link Container#getSPI(Class)} is invoked.
There's a considerable overlap between this and {@link HttpAdapterList}. The SPI really needs to be reconsidered @see Container @author Kohsuke Kawaguchi @since 2.1 EA3
一个web程序的不同的模块有不同的名字和路径。作为 {@link Module}接口本身并没有要求模块的名字和路径有什么关系, 但在实现上模块的路径是由其名字决定的,即path=/name,比如名字为admin的模块,路径将是/admin。 作为一个特例,名字为root的模块路径则只是空串。
一个HTTP请求将根据它的URI,映射到相应的web程序中(由web容器处理),而后又映射给具体的module模块(由Rose处理)。 映射规则以模块的路径为依据(名字此时不参与这个决策)。
@author 王志亮 [qieqie.wang@gmail.com]
Why do we expose the Module rather than the {@link org.apache.hivemind.internal.RegistryInfrastructure}? It's more than just qualifying ids before passing them up to the RI. At some future point, a concept of visibility will be added to HiveMind. This will make many services and configurations private to the module which defines them and the necessary visibility filtering logic will be here. @author Howard Lewis Ship
Your Module classes can use a more streamlined syntax by extending {@link AbstractModule} rather than implementing this interface directly.
In addition to the bindings configured via {@link #configure}, bindings will be created for all methods annotated with {@literal @}{@link Provides}. Use scope and binding annotations on these methods to configure the bindings.
A Module
is a singleton object of a Fedora Server
instance with a simple lifecycle, supported by the initModule()
and shutdownModule()
methods, which are automatically called during server startup and shutdown, respectively.
Modules are configured via "param" elements inside module elements in the configuration file. An instance of each module specified in the configuration file is automatically created at startup and is available via the getModule(String)
instance method of the Server
class.
A {@code Module} represents the meta-information about a project which should be used when publishing themodule.
A module must have a unique {@link ResourceIdentity} in the Runtime.
Gravia stays out of the business of resolving module's at runtime. Every module has an associated {@link ClassLoader} when it is installed in the runtime already.Modularity must be dealt with in the layer using the Gravia runtime.
For example, a servlet container like Tomcat may choose to create one Module per web application. Multiple modules may share the same class loader or may even all have the same class loader association. This allows GRavia to run on a flat class path (e.g. a plain JUnit test)
When installed it is also assigned a {@code long} identity, chosen by the Runtime.This identity does not change during the lifecycle of a module. Uninstalling and then reinstalling the module creates a new unique {@code long} identity.
A module can be in one of six states:
A module should only have active threads of execution when its state is one of {@code STARTING}, {@code ACTIVE}, or {@code STOPPING}. An {@code UNINSTALLED} module can not be set to another state;it can only be reached because references are kept somewhere.
The Runtime is the only entity that is allowed to create {@code Module}objects, and these objects are only valid within the Runtime that created them.
Modules have a natural ordering such that if two {@code Module}s have the same {@link #getModuleId() module id} they are equal. A {@code Module} isless than another {@code Module} if it has a lower {@link #getModuleId() module id} and is greater if it has a higher module id. @author thomas.diesler@jboss.com @since 27-Sep-2013 @ThreadSafe
A module is stored within a jar/zip archive file. To open an existing module archive file, use the ModuleFactory.open() method. Once open, users of this class may query for the module's artwork, WFSs, and plugins.
Modules also have major.minor version numbers and a list of other modules upon which this module depends.
This is an abstract class -- it is typically subclassed to handle whether the module was loaded on disk or from an archive file.
@author Jordan Slott
constructor -> initialize() -> start() -> stop() -> destroy() -> finalizer |<-----------------------| ^ | | V----------------------------------->The Module interface is intended to provide the simplest mechanism for creating, deploying, and managing server modules. @author Iain Shigeoka
Module collects together machine specific information about the contents of a module and associates it with the MoudleTypeInfo for that module. Modules contain the executable program elements and have a name. Creation date: (3/6/00 9:48:37 AM) @author LWE
Configuration module allows to configure RichFaces services.
Implementations are loaded in conformance with {@link java.util.ServiceLoader} (/META-INF/services/org.richfaces.services.Module).
@author asmirnov@exadel.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|