org.apache.manifoldcf.crawler.system
Class DocumentCleanupThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.apache.manifoldcf.crawler.system.DocumentCleanupThread
All Implemented Interfaces:
java.lang.Runnable

public class DocumentCleanupThread
extends java.lang.Thread

This class represents a document cleanup thread. This thread's job is to pull document sets to be cleaned up off of a queue, and kill them. It finishes a cleanup set by getting rid of the corresponding rows in the job queue, and from carrydown, and from hopcount. There are very few decisions that this thread needs to make; essentially all the hard thought went into deciding what documents to queue in the first place. The only caveat is that the ingestion API may not be accepting delete requests at the time that this thread wants it to be able to accept them. In that case, it's acceptable for the thread to block until the ingestion service is functioning again. Transactions are not much needed for this class; it simply needs to not fail to remove the appropriate jobqueue table rows at the end of the delete.


Nested Class Summary
protected static class DocumentCleanupThread.OutputRemoveActivity
          The ingest logger class
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
static java.lang.String _rcsid
           
protected  DocumentCleanupQueue documentCleanupQueue
           
protected  java.lang.String id
           
protected  QueueTracker queueTracker
          Queue tracker
protected  DocCleanupResetManager resetManager
          Delete thread pool reset manager
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
DocumentCleanupThread(java.lang.String id, DocumentCleanupQueue documentCleanupQueue, QueueTracker queueTracker, DocCleanupResetManager resetManager)
          Constructor.
 
Method Summary
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, 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
 

Field Detail

_rcsid

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

id

protected java.lang.String id

documentCleanupQueue

protected DocumentCleanupQueue documentCleanupQueue

resetManager

protected DocCleanupResetManager resetManager
Delete thread pool reset manager


queueTracker

protected QueueTracker queueTracker
Queue tracker

Constructor Detail

DocumentCleanupThread

public DocumentCleanupThread(java.lang.String id,
                             DocumentCleanupQueue documentCleanupQueue,
                             QueueTracker queueTracker,
                             DocCleanupResetManager resetManager)
                      throws ManifoldCFException
Constructor.

Parameters:
id - is the worker thread id.
Throws:
ManifoldCFException
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread