## org.mortbay.terracotta.servlet
Class TerracottaSessionHandler

    java.lang.Object
      org.mortbay.component.AbstractLifeCycle
          org.mortbay.jetty.handler.AbstractHandler
              org.mortbay.jetty.handler.AbstractHandlerContainer
                  org.mortbay.jetty.handler.HandlerWrapper
                      org.mortbay.jetty.servlet.SessionHandler
                          org.mortbay.terracotta.servlet.TerracottaSessionHandler

All Implemented Interfaces:
  LifeCycle, Handler, HandlerContainer

    public class TerracottaSessionHandler

extends SessionHandler

A specific subclass of `SessionHandler` that sets a contract between this class and `TerracottaSessionManager`. The contract requires that a Terracotta named lock will be held for the duration of the request, where the lock name depends on the session id. To achieve this, we call `TerracottaSessionManager.enter(Request)` and `TerracottaSessionManager.exit(Request)`, in order to be able to obtain and release the Terracotta lock. See the `TerracottaSessionManager` javadocs for implementation notes.

Version:
  $Revision: 1308 $ $Date: 2008-11-07 21:50:17 +1100 (Fri, 07 Nov 2008) $

Nested Class Summary

Nested classes/interfaces inherited from interface org.mortbay.component.LifeCycle
`LifeCycle.Listener`

Field Summary

Fields inherited from class org.mortbay.jetty.handler.AbstractHandler
`_string`

Fields inherited from class org.mortbay.component.AbstractLifeCycle
`_listeners`

Fields inherited from interface org.mortbay.jetty.Handler
`ALL, DEFAULT, ERROR, FORWARD, INCLUDE, REQUEST`

Constructor Summary
`TerracottaSessionHandler()`
`TerracottaSessionHandler(SessionManager manager)`

Method Summary
`void` `handle(java.lang.String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int dispatch)` Handle a request.

Methods inherited from class org.mortbay.jetty.servlet.SessionHandler
`addEventListener, clearEventListeners, doStart, doStop, getSessionManager, setRequestedId, setServer, setSessionManager`

Methods inherited from class org.mortbay.jetty.handler.HandlerWrapper
`addHandler, expandChildren, getHandler, removeHandler, setHandler`

Methods inherited from class org.mortbay.jetty.handler.AbstractHandlerContainer
`expandHandler, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass`

Methods inherited from class org.mortbay.jetty.handler.AbstractHandler
`destroy, getServer, toString`

Methods inherited from class org.mortbay.component.AbstractLifeCycle
`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.mortbay.component.LifeCycle
`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Constructor Detail

### TerracottaSessionHandler

    public TerracottaSessionHandler()

### TerracottaSessionHandler

    public TerracottaSessionHandler(SessionManager manager)

Method Detail

### handle

    public void handle(java.lang.String target,
                       javax.servlet.http.HttpServletRequest request,
                       javax.servlet.http.HttpServletResponse response,
                       int dispatch)
                throws java.io.IOException,
                       javax.servlet.ServletException

  Description copied from interface: `Handler`
  Handle a request.

  Specified by:
    `handle` in interface `Handler`
  Overrides:
    `handle` in class `SessionHandler`
  Parameters:
    `target` - The target of the request - either a URI or a name.
    `request` - The request either as the `Request` object or a wrapper of that request. The `HttpConnection.getCurrentConnection()` method can be used access the Request object if required.
    `response` - The response as the `Response` object or a wrapper of that request. The `HttpConnection.getCurrentConnection()` method can be used access the Response object if required.
    `dispatch` - The dispatch mode: `Handler.REQUEST`, `Handler.FORWARD`, `Handler.INCLUDE`, `Handler.ERROR`
  Throws:
    `java.io.IOException`
    `javax.servlet.ServletException`

Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.