org.apache.tomcat.util.threads
Class ThreadWithAttributes
java.lang.Object
java.lang.Thread
org.apache.tomcat.util.threads.ThreadWithAttributes
- All Implemented Interfaces:
- java.lang.Runnable
- public class ThreadWithAttributes
- extends java.lang.Thread
Special thread that allows storing of attributes and notes.
A guard is used to prevent untrusted code from accessing the
attributes.
This avoids hash lookups and provide something very similar
with ThreadLocal ( but compatible with JDK1.1 and faster on
JDK < 1.4 ).
The main use is to store 'state' for monitoring ( like "processing
request 'GET /' ").
Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Method Summary |
java.util.Hashtable |
getAttributes(java.lang.Object control)
Generic attributes. |
java.lang.String |
getCurrentStage(java.lang.Object control)
Information about the curent performed operation |
java.lang.Object |
getNote(java.lang.Object control,
int id)
|
java.lang.Object |
getParam(java.lang.Object control)
Information about the current request ( or the main object
we are processing ) |
java.lang.Object[] |
getThreadData(java.lang.Object control)
|
void |
setCurrentStage(java.lang.Object control,
java.lang.String currentStage)
|
void |
setNote(java.lang.Object control,
int id,
java.lang.Object value)
Notes - for attributes that need fast access ( array )
The application is responsible for id management |
void |
setParam(java.lang.Object control,
java.lang.Object param)
|
void |
setThreadData(java.lang.Object control,
java.lang.Object[] thData)
|
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MAX_NOTES
public static int MAX_NOTES
ThreadWithAttributes
public ThreadWithAttributes(java.lang.Object control,
java.lang.Runnable r)
getThreadData
public final java.lang.Object[] getThreadData(java.lang.Object control)
setThreadData
public final void setThreadData(java.lang.Object control,
java.lang.Object[] thData)
setNote
public final void setNote(java.lang.Object control,
int id,
java.lang.Object value)
- Notes - for attributes that need fast access ( array )
The application is responsible for id management
getCurrentStage
public final java.lang.String getCurrentStage(java.lang.Object control)
- Information about the curent performed operation
getParam
public final java.lang.Object getParam(java.lang.Object control)
- Information about the current request ( or the main object
we are processing )
setCurrentStage
public final void setCurrentStage(java.lang.Object control,
java.lang.String currentStage)
setParam
public final void setParam(java.lang.Object control,
java.lang.Object param)
getNote
public final java.lang.Object getNote(java.lang.Object control,
int id)
getAttributes
public final java.util.Hashtable getAttributes(java.lang.Object control)
- Generic attributes. You'll need a hashtable lookup -
you can use notes for array access.
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.