Package org.opencms.main
Class CmsThreadStore
java.lang.Object
java.lang.Thread
org.opencms.main.CmsThreadStore
- All Implemented Interfaces:
Runnable
The OpenCms "Grim Reaper" thread store were all system Threads are maintained.
This thread executes all 60 seconds and checks if report threads are still active. A report thread usually waits for a user to get the contents written to the report. However, if the user does not request the reports content (e.g. because the browser was closed), then the report thread becomes abandoned. This Grim Reaper will collect all such abandoned report threads and remove them after further 60 seconds.
Moreover, the Grim Reaper checks for all invalid user sessions that have times out for 5 or more minutes, and removes them as well.
- Since:
- 6.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
ModifierConstructorDescriptionprotected
CmsThreadStore
(CmsSecurityManager securityManager) Hides the public constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addThread
(A_CmsReportThread thread) Adds a Thread to this Thread store.protected void
Checks the publish queue for abandoned publish jobs.protected void
Handles doomed threads.protected void
Takes care of the persistence of data normally held in memory.retrieveThread
(CmsUUID key) Retrieves a Thread from this Thread store.void
run()
protected void
shutDown()
Shut down this thread store.protected void
Checks for invalid sessions.Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
Constructor Details
-
CmsThreadStore
Hides the public constructor.- Parameters:
securityManager
- needed for scheduling "undercover-jobs" that increase stability and fault tolerance
-
-
Method Details
-
addThread
Adds a Thread to this Thread store.- Parameters:
thread
- the Thread to add
-
retrieveThread
Retrieves a Thread from this Thread store.- Parameters:
key
- the key of the Thread to retrieve- Returns:
- the Thread form this Thread store that matches the given key
-
run
-
checkPublishQueue
Checks the publish queue for abandoned publish jobs. -
handleDoomedThreads
Handles doomed threads. -
persistData
Takes care of the persistence of data normally held in memory. -
shutDown
Shut down this thread store. -
validateSessions
Checks for invalid sessions.
-