Class SetPriorityThread

  • All Implemented Interfaces:
    java.lang.Runnable

    public class SetPriorityThread
    extends java.lang.Thread
    This class describes a thread whose job it is to continuously reset document priorities, based on recent queuing activity. The goal is to evenly distribute queued documents across jobs and within classes of documents inside jobs. The way it works is for the thread to do some number of pending documents at a time. The documents are fetched in such a way as to get the ones that have been least recently assessed preferentially. The assessment process involves getting hold of a connector for the job that owns the document, and calculating the priority based on the recent history as maintained in the queueTracker object.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String _rcsid  
      protected BlockingDocuments blockingDocuments
      The blocking documents object
      protected int cycleCount
      This is the number of documents per cycle
      protected java.lang.String processID
      Process ID
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Constructor Summary

      Constructors 
      Constructor Description
      SetPriorityThread​(int workerThreadCount, BlockingDocuments blockingDocuments, java.lang.String processID)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()  
      • 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
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • cycleCount

        protected final int cycleCount
        This is the number of documents per cycle
      • blockingDocuments

        protected final BlockingDocuments blockingDocuments
        The blocking documents object
      • processID

        protected final java.lang.String processID
        Process ID
    • Method Detail

      • run

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