Class DirectoryScanJob

  • All Implemented Interfaces:
    org.quartz.Job

    @DisallowConcurrentExecution
    @PersistJobDataAfterExecution
    public class DirectoryScanJob
    extends java.lang.Object
    implements org.quartz.Job
    Inspects a directory and compares whether any files' "last modified dates" have changed since the last time it was inspected. If one or more files have been updated (or created), the job invokes a "call-back" method on an identified DirectoryScanListener that can be found in the SchedulerContext.
    See Also:
    DirectoryScanListener, SchedulerContext
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DIRECTORY_NAME
      JobDataMap key with which to specify the directory to be monitored - an absolute path is recommended.
      static java.lang.String DIRECTORY_SCAN_LISTENER_NAME
      JobDataMap key with which to specify the DirectoryScanListener to be notified when the directory contents change.
      static java.lang.String MINIMUM_UPDATE_AGE
      JobDataMap key with which to specify a long value that represents the minimum number of milliseconds that must have past since the file's last modified time in order to consider the file new/altered.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute​(org.quartz.JobExecutionContext context)  
      protected java.io.File[] getUpdatedOrNewFiles​(java.lang.String dirName, long lastDate, long maxAgeDate)  
      • Methods inherited from class java.lang.Object

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

      • DIRECTORY_NAME

        public static final java.lang.String DIRECTORY_NAME
        JobDataMap key with which to specify the directory to be monitored - an absolute path is recommended.
        See Also:
        Constant Field Values
      • DIRECTORY_SCAN_LISTENER_NAME

        public static final java.lang.String DIRECTORY_SCAN_LISTENER_NAME
        JobDataMap key with which to specify the DirectoryScanListener to be notified when the directory contents change.
        See Also:
        Constant Field Values
      • MINIMUM_UPDATE_AGE

        public static final java.lang.String MINIMUM_UPDATE_AGE
        JobDataMap key with which to specify a long value that represents the minimum number of milliseconds that must have past since the file's last modified time in order to consider the file new/altered. This is necessary because another process may still be in the middle of writing to the file when the scan occurs, and the file may therefore not yet be ready for processing.

        If this parameter is not specified, a default value of 5000 (five seconds) will be used.

        See Also:
        Constant Field Values
    • Constructor Detail

      • DirectoryScanJob

        public DirectoryScanJob()
    • Method Detail

      • execute

        public void execute​(org.quartz.JobExecutionContext context)
                     throws org.quartz.JobExecutionException
        Specified by:
        execute in interface org.quartz.Job
        Throws:
        org.quartz.JobExecutionException
        See Also:
        Job.execute(org.quartz.JobExecutionContext)
      • getUpdatedOrNewFiles

        protected java.io.File[] getUpdatedOrNewFiles​(java.lang.String dirName,
                                                      long lastDate,
                                                      long maxAgeDate)