Class FessIntervalController

java.lang.Object
org.codelibs.fess.crawler.interval.impl.AbstractIntervalController
org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
org.codelibs.fess.crawler.interval.FessIntervalController
All Implemented Interfaces:
org.codelibs.fess.crawler.interval.IntervalController

public class FessIntervalController extends org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
FessIntervalController extends DefaultIntervalController to provide Fess-specific interval control functionality for web crawling operations. This controller manages delays and timing for various crawling states including processing delays, queue waiting times, and new URL discovery.
  • Field Summary

    Fields inherited from class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController

    delayMillisAfterProcessing, delayMillisAtNoUrlInQueue, delayMillisBeforeProcessing, delayMillisForWaitingNewUrl

    Fields inherited from class org.codelibs.fess.crawler.interval.impl.AbstractIntervalController

    ignoreException

    Fields inherited from interface org.codelibs.fess.crawler.interval.IntervalController

    NO_URL_IN_QUEUE, POST_PROCESSING, PRE_PROCESSING, WAIT_NEW_URL
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Delays the crawler while waiting for new URLs to be available.
    long
    Gets the delay time in milliseconds after processing a URL.
    long
    Gets the delay time in milliseconds when there are no URLs in the queue.
    long
    Gets the delay time in milliseconds before processing a URL.
    long
    Gets the delay time in milliseconds for waiting for new URLs.
    void
    setDelayMillisAfterProcessing(long delayMillisAfterProcessing)
    Sets the delay time in milliseconds after processing a URL.
    void
    setDelayMillisAtNoUrlInQueue(long delayMillisAtNoUrlInQueue)
    Sets the delay time in milliseconds when there are no URLs in the queue.
    void
    setDelayMillisBeforeProcessing(long delayMillisBeforeProcessing)
    Sets the delay time in milliseconds before processing a URL.
    void
    setDelayMillisForWaitingNewUrl(long delayMillisForWaitingNewUrl)
    Sets the delay time in milliseconds for waiting for new URLs.

    Methods inherited from class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController

    delayAfterProcessing, delayAtNoUrlInQueue, delayBeforeProcessing

    Methods inherited from class org.codelibs.fess.crawler.interval.impl.AbstractIntervalController

    delay, isIgnoreException, setIgnoreException

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FessIntervalController

      public FessIntervalController()
      Default constructor.
  • Method Details

    • getDelayMillisAfterProcessing

      public long getDelayMillisAfterProcessing()
      Gets the delay time in milliseconds after processing a URL.
      Overrides:
      getDelayMillisAfterProcessing in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Returns:
      the delay time in milliseconds after processing
    • setDelayMillisAfterProcessing

      public void setDelayMillisAfterProcessing(long delayMillisAfterProcessing)
      Sets the delay time in milliseconds after processing a URL.
      Overrides:
      setDelayMillisAfterProcessing in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Parameters:
      delayMillisAfterProcessing - the delay time in milliseconds after processing
    • getDelayMillisAtNoUrlInQueue

      public long getDelayMillisAtNoUrlInQueue()
      Gets the delay time in milliseconds when there are no URLs in the queue.
      Overrides:
      getDelayMillisAtNoUrlInQueue in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Returns:
      the delay time in milliseconds when no URLs are available
    • setDelayMillisAtNoUrlInQueue

      public void setDelayMillisAtNoUrlInQueue(long delayMillisAtNoUrlInQueue)
      Sets the delay time in milliseconds when there are no URLs in the queue.
      Overrides:
      setDelayMillisAtNoUrlInQueue in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Parameters:
      delayMillisAtNoUrlInQueue - the delay time in milliseconds when no URLs are available
    • getDelayMillisBeforeProcessing

      public long getDelayMillisBeforeProcessing()
      Gets the delay time in milliseconds before processing a URL.
      Overrides:
      getDelayMillisBeforeProcessing in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Returns:
      the delay time in milliseconds before processing
    • setDelayMillisBeforeProcessing

      public void setDelayMillisBeforeProcessing(long delayMillisBeforeProcessing)
      Sets the delay time in milliseconds before processing a URL.
      Overrides:
      setDelayMillisBeforeProcessing in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Parameters:
      delayMillisBeforeProcessing - the delay time in milliseconds before processing
    • getDelayMillisForWaitingNewUrl

      public long getDelayMillisForWaitingNewUrl()
      Gets the delay time in milliseconds for waiting for new URLs.
      Overrides:
      getDelayMillisForWaitingNewUrl in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Returns:
      the delay time in milliseconds for waiting for new URLs
    • setDelayMillisForWaitingNewUrl

      public void setDelayMillisForWaitingNewUrl(long delayMillisForWaitingNewUrl)
      Sets the delay time in milliseconds for waiting for new URLs.
      Overrides:
      setDelayMillisForWaitingNewUrl in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController
      Parameters:
      delayMillisForWaitingNewUrl - the delay time in milliseconds for waiting for new URLs
    • delayForWaitingNewUrl

      protected void delayForWaitingNewUrl()
      Delays the crawler while waiting for new URLs to be available. This method calibrates CPU load, checks crawler status, applies interval control rules, and then calls the parent implementation. All operations are wrapped in exception handling to ensure robustness in test and production environments.
      Overrides:
      delayForWaitingNewUrl in class org.codelibs.fess.crawler.interval.impl.DefaultIntervalController