org.apache.catalina.session
Class StoreBase

java.lang.Object
  extended byorg.apache.catalina.session.StoreBase
All Implemented Interfaces:
Lifecycle, java.lang.Runnable, Store
Direct Known Subclasses:
FileStore, JDBCStore

public abstract class StoreBase
extends java.lang.Object
implements Lifecycle, java.lang.Runnable, Store

Abstract implementation of the Store interface to support most of the functionality required by a Store.

Version:
$Revision: 1.10 $, $Date: 2004/08/26 21:39:08 $
Author:
Bip Thelin

Field Summary
protected  int checkInterval
          The interval (in seconds) between checks for expired sessions.
protected  int debug
          The debugging detail level for this component.
protected static java.lang.String info
          The descriptive information about this implementation.
protected  LifecycleSupport lifecycle
          The lifecycle event support for this component.
protected  Manager manager
          The Manager with which this JDBCStore is associated.
protected  StringManager sm
          The string manager for this package.
protected  boolean started
          Has this component been started yet?
protected static java.lang.String storeName
          Name to register for this Store, used for logging.
protected  java.beans.PropertyChangeSupport support
          The property change support for this component.
protected  java.lang.Thread thread
          The background thread.
protected  boolean threadDone
          The background thread completion semaphore.
protected  java.lang.String threadName
          Name to register for the background thread.
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
StoreBase()
           
 
Method Summary
 void addLifecycleListener(LifecycleListener listener)
          Add a lifecycle event listener to this component.
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Add a property change listener to this component.
 LifecycleListener[] findLifecycleListeners()
          Get the lifecycle listeners associated with this lifecycle.
 int getCheckInterval()
          Return the check interval (in seconds) for this Store.
 int getDebug()
          Return the debugging detail level for this Store.
 java.lang.String getInfo()
          Return the info for this Store.
 Manager getManager()
          Return the Manager with which the Store is associated.
 java.lang.String getStoreName()
          Return the name for this Store, used for logging.
 java.lang.String getThreadName()
          Return the thread name for this Store.
protected  void log(java.lang.String message)
          Log a message on the Logger associated with our Container (if any).
protected  void processExpires()
          Called by our background reaper thread to check if Sessions saved in our store are subject of being expired.
 void removeLifecycleListener(LifecycleListener listener)
          Remove a lifecycle event listener from this component.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Remove a property change listener from this component.
 void run()
          The background thread that checks for session timeouts and shutdown.
 void setCheckInterval(int checkInterval)
          Set the check interval (in seconds) for this Store.
 void setDebug(int debug)
          Set the debugging detail level for this Store.
 void setManager(Manager manager)
          Set the Manager with which this Store is associated.
 void start()
          Prepare for the beginning of active use of the public methods of this component.
 void stop()
          Gracefully terminate the active use of the public methods of this component.
protected  void threadSleep()
          Sleep for the duration specified by the checkInterval property.
protected  void threadStart()
          Start the background thread that will periodically check for session timeouts.
protected  void threadStop()
          Stop the background thread that is periodically checking for session timeouts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Store
clear, getSize, keys, load, remove, save
 

Field Detail

info

protected static java.lang.String info
The descriptive information about this implementation.


checkInterval

protected int checkInterval
The interval (in seconds) between checks for expired sessions.


threadName

protected java.lang.String threadName
Name to register for the background thread.


storeName

protected static java.lang.String storeName
Name to register for this Store, used for logging.


thread

protected java.lang.Thread thread
The background thread.


threadDone

protected boolean threadDone
The background thread completion semaphore.


debug

protected int debug
The debugging detail level for this component.


started

protected boolean started
Has this component been started yet?


lifecycle

protected LifecycleSupport lifecycle
The lifecycle event support for this component.


support

protected java.beans.PropertyChangeSupport support
The property change support for this component.


sm

protected StringManager sm
The string manager for this package.


manager

protected Manager manager
The Manager with which this JDBCStore is associated.

Constructor Detail

StoreBase

public StoreBase()
Method Detail

getInfo

public java.lang.String getInfo()
Return the info for this Store.

Specified by:
getInfo in interface Store

getThreadName

public java.lang.String getThreadName()
Return the thread name for this Store.


getStoreName

public java.lang.String getStoreName()
Return the name for this Store, used for logging.


setDebug

public void setDebug(int debug)
Set the debugging detail level for this Store.

Parameters:
debug - The new debugging detail level

getDebug

public int getDebug()
Return the debugging detail level for this Store.


setCheckInterval

public void setCheckInterval(int checkInterval)
Set the check interval (in seconds) for this Store.

Parameters:
checkInterval - The new check interval

getCheckInterval

public int getCheckInterval()
Return the check interval (in seconds) for this Store.


setManager

public void setManager(Manager manager)
Set the Manager with which this Store is associated.

Specified by:
setManager in interface Store
Parameters:
manager - The newly associated Manager

getManager

public Manager getManager()
Return the Manager with which the Store is associated.

Specified by:
getManager in interface Store

addLifecycleListener

public void addLifecycleListener(LifecycleListener listener)
Add a lifecycle event listener to this component.

Specified by:
addLifecycleListener in interface Lifecycle
Parameters:
listener - The listener to add

findLifecycleListeners

public LifecycleListener[] findLifecycleListeners()
Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.

Specified by:
findLifecycleListeners in interface Lifecycle

removeLifecycleListener

public void removeLifecycleListener(LifecycleListener listener)
Remove a lifecycle event listener from this component.

Specified by:
removeLifecycleListener in interface Lifecycle
Parameters:
listener - The listener to add

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a property change listener to this component.

Specified by:
addPropertyChangeListener in interface Store
Parameters:
listener - a value of type 'PropertyChangeListener'

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a property change listener from this component.

Specified by:
removePropertyChangeListener in interface Store
Parameters:
listener - The listener to remove

processExpires

protected void processExpires()
Called by our background reaper thread to check if Sessions saved in our store are subject of being expired. If so expire the Session and remove it from the Store.


log

protected void log(java.lang.String message)
Log a message on the Logger associated with our Container (if any).

Parameters:
message - Message to be logged

run

public void run()
The background thread that checks for session timeouts and shutdown.

Specified by:
run in interface java.lang.Runnable

start

public void start()
           throws LifecycleException
Prepare for the beginning of active use of the public methods of this component. This method should be called after configure(), and before any of the public methods of the component are utilized.

Specified by:
start in interface Lifecycle
Throws:
LifecycleException - if this component detects a fatal error that prevents this component from being used

stop

public void stop()
          throws LifecycleException
Gracefully terminate the active use of the public methods of this component. This method should be the last one called on a given instance of this component.

Specified by:
stop in interface Lifecycle
Throws:
LifecycleException - if this component detects a fatal error that needs to be reported

threadStart

protected void threadStart()
Start the background thread that will periodically check for session timeouts.


threadSleep

protected void threadSleep()
Sleep for the duration specified by the checkInterval property.


threadStop

protected void threadStop()
Stop the background thread that is periodically checking for session timeouts.



Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.