org.mortbay.terracotta.servlet
Class TerracottaSessionHandler

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.handler.AbstractHandler
          extended by org.mortbay.jetty.handler.AbstractHandlerContainer
              extended by org.mortbay.jetty.handler.HandlerWrapper
                  extended by org.mortbay.jetty.servlet.SessionHandler
                      extended by 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(String target, HttpServletRequest request, 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(String target,
                   HttpServletRequest request,
                   HttpServletResponse response,
                   int dispatch)
            throws IOException,
                   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:
IOException
ServletException


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