org.glassfish.grizzly.http.server
Class HttpServiceChain

java.lang.Object
  extended by org.glassfish.grizzly.http.server.HttpService
      extended by org.glassfish.grizzly.http.server.HttpServiceChain
All Implemented Interfaces:
JmxEventListener

public class HttpServiceChain
extends HttpService
implements JmxEventListener

The HttpServiceChain class allows the invocation of multiple HttpServices every time a new HTTP request is ready to be handled. Requests are mapped to their associated HttpService at runtime using the mapping information configured when invoking the (org.glassfish.grizzly.http.server.HttpService, java.lang.String[]) Note: This class is NOT thread-safe, so make sure synchronization is performed when dynamically adding and removing HttpService

Author:
Jeanfrancois Arcand

Field Summary
protected static int MAPPED_SERVICE
           
protected static int MAPPING_DATA
           
 
Fields inherited from class org.glassfish.grizzly.http.server.HttpService
staticResourcesHandler
 
Constructor Summary
HttpServiceChain(HttpServer gws)
           
 
Method Summary
 void addService(HttpService httpService, String[] mappings)
          Add a HttpService and its associated array of mapping.
 void destroy()
          Invoked when the HttpServer and may be overridden by custom implementations to perform implementation specific resource reclaimation tasks.
 void jmxDisabled()
          Invoked when JMX has been disabled.
 void jmxEnabled()
          Invoked when JMX has been enabled.
 boolean removeHttpService(HttpService httpService)
          Remove a HttpService
 void service(Request request, Response response)
          Map the Request to the proper HttpService
 void start()
          Called when the HttpService's container is started by invoking HttpServer.start().
 
Methods inherited from class org.glassfish.grizzly.http.server.HttpService
customizedErrorPage, doService, getDocRoot, getStaticResourcesHandler, isAllowEncodedSlash, sendAcknowledgment, setAllowEncodedSlash, setDecodeUrl, setDocRoot, setDocRoot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAPPING_DATA

protected static final int MAPPING_DATA
See Also:
Constant Field Values

MAPPED_SERVICE

protected static final int MAPPED_SERVICE
See Also:
Constant Field Values
Constructor Detail

HttpServiceChain

public HttpServiceChain(HttpServer gws)
Method Detail

jmxEnabled

public void jmxEnabled()
Description copied from interface: JmxEventListener
Invoked when JMX has been enabled.

Specified by:
jmxEnabled in interface JmxEventListener
See Also:
ServerConfiguration.setJmxEnabled(boolean)

jmxDisabled

public void jmxDisabled()
Description copied from interface: JmxEventListener
Invoked when JMX has been disabled.

Specified by:
jmxDisabled in interface JmxEventListener
See Also:
ServerConfiguration.setJmxEnabled(boolean)

start

public void start()
Description copied from class: HttpService
Called when the HttpService's container is started by invoking HttpServer.start(). By default, it does nothing.

Overrides:
start in class HttpService

service

public void service(Request request,
                    Response response)
             throws Exception
Map the Request to the proper HttpService

Specified by:
service in class HttpService
Parameters:
request - The Request
response - The Response
Throws:
Exception

addService

public void addService(HttpService httpService,
                       String[] mappings)
Add a HttpService and its associated array of mapping. The mapping data will be used to map incoming request to its associated HttpService.

Parameters:
httpService - HttpService instance
mappings - an array of mapping.

destroy

public void destroy()
Description copied from class: HttpService
Invoked when the HttpServer and may be overridden by custom implementations to perform implementation specific resource reclaimation tasks. By default, this method does nothing.

Overrides:
destroy in class HttpService

removeHttpService

public boolean removeHttpService(HttpService httpService)
Remove a HttpService

Returns:
true if removed


Copyright © 2010 Oracle Corpration. All Rights Reserved.