This package contains the interfaces necessary to create and manipulate RRD
extension handlers.
An RRD extension handlers is a class that implements {@link
com.ibm.wsspi.rrd.extension.handler.ExtensionHandler} and obeys the
extension handler lifecycle: initialization, handling, and destruction,
which occurs as follows:
When the remote portion of an RRD-enabled application is initialized, the
RRD extension handler descriptor is parsed, and each extension handler is
initialized with a parsed {@link
com.ibm.wsspi.rrd.extension.ExtensionConfig} object. Each extension
handler is then placed in an extension handler chain. This chain is
executed upon receiving an RRD request by calling the
doHandle
method on each extension handler that matches the
qualified name of some extension data attached to the RRD request.
Each extension handler, with the assistance of the provided {@link
com.ibm.wsspi.rrd.extension.handler.ExtensionHandlerRequest} object, is
then expected to process the received extension data (which may be located
in the header, body, or header and body of the RRD request) in some manner.
Afterwards, each extension handler is responsible for executing the next
portion of the extension handler chain.
Once the end of the extension handler chain is reached, an RRD response
will be created, and each extension handler has the opportunity to attach
and EMF object to the response as extension data via the provided {@link
com.ibm.wsspi.rrd.extension.handler.ExtensionHandlerResponse} instance;
this extension data will then be received by the appropriate extension
generator on the local portion of the RRD-enabled application. After this
(optional) processing has occurred, the extension handler chain execution
is completed until another RRD request is received.
Upon application server termination, each extension handler will be
destroyed via a call to its destroy
method. At this point,
any persistent resources associated with the extension handler should be
released.