org.apache.axis.handlers
Class SimpleSessionHandler

java.lang.Object
  extended byorg.apache.axis.handlers.BasicHandler
      extended byorg.apache.axis.handlers.SimpleSessionHandler
All Implemented Interfaces:
Handler, java.io.Serializable

public class SimpleSessionHandler
extends BasicHandler

This handler uses SOAP headers to do simple session management.

Essentially, you install it on both the request and response chains of your service, on both the client and the server side.

ON THE SERVER:

ON THE CLIENT:

SimpleSessions are "reaped" periodically via a very simplistic mechanism. Each time the handler is invoke()d we check to see if more than reapPeriodicity milliseconds have elapsed since the last reap. If so, we walk the collection of active Sessions, and for each one, if it hasn't been "touched" (i.e. had a getProperty() or setProperty() performed) in longer than its timeout, we remove it from the collection.

See Also:
Serialized Form

Field Summary
static java.lang.String SESSION_ID
           
static java.lang.String SESSION_LOCALPART
           
static java.lang.String SESSION_NS
           
static QName sessionHeaderName
           
 
Constructor Summary
SimpleSessionHandler()
           
 
Method Summary
 void doClient(MessageContext context)
          Client side of processing.
 void doServer(MessageContext context)
          Server side of processing.
 void invoke(MessageContext context)
          Process a MessageContext.
 void setDefaultSessionTimeout(int defaultSessionTimeout)
          Set the default session timeout in SECONDS Again, for testing.
 void setReapPeriodicity(long reapTime)
          Set the reaper periodicity in SECONDS Convenience method for testing.
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
canHandleBlock, cleanup, generateWSDL, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, onFault, setName, setOption, setOptionDefault, setOptions
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_ID

public static final java.lang.String SESSION_ID
See Also:
Constant Field Values

SESSION_NS

public static final java.lang.String SESSION_NS
See Also:
Constant Field Values

SESSION_LOCALPART

public static final java.lang.String SESSION_LOCALPART
See Also:
Constant Field Values

sessionHeaderName

public static final QName sessionHeaderName
Constructor Detail

SimpleSessionHandler

public SimpleSessionHandler()
Method Detail

invoke

public void invoke(MessageContext context)
            throws AxisFault
Process a MessageContext.

Parameters:
context - the MessageContext to process with this Handler.
Throws:
AxisFault - if the handler encounters an error

doClient

public void doClient(MessageContext context)
              throws AxisFault
Client side of processing.

Throws:
AxisFault

doServer

public void doServer(MessageContext context)
              throws AxisFault
Server side of processing.

Throws:
AxisFault

setReapPeriodicity

public void setReapPeriodicity(long reapTime)
Set the reaper periodicity in SECONDS Convenience method for testing. !!! TODO: Should be able to set this via options on the Handler or perhaps the engine.


setDefaultSessionTimeout

public void setDefaultSessionTimeout(int defaultSessionTimeout)
Set the default session timeout in SECONDS Again, for testing.



Copyright 2003 Apache Web Services Project. A ll Rights Reserved.