Class FileScanJob

  • All Implemented Interfaces:
    org.quartz.Job

    @DisallowConcurrentExecution
    @PersistJobDataAfterExecution
    public class FileScanJob
    extends java.lang.Object
    implements org.quartz.Job
    Inspects a file and compares whether it's "last modified date" has changed since the last time it was inspected. If the file has been updated, the job invokes a "call-back" method on an identified FileScanListener that can be found in the SchedulerContext.
    See Also:
    FileScanListener
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String FILE_NAME
      JobDataMap key with which to specify the name of the file to monitor.
      static java.lang.String FILE_SCAN_LISTENER_NAME
      JobDataMap key with which to specify the FileScanListener to be notified when the file 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      FileScanJob()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute​(org.quartz.JobExecutionContext context)  
      protected long getLastModifiedDate​(java.lang.String fileName)  
      • Methods inherited from class java.lang.Object

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

      • FILE_NAME

        public static final java.lang.String FILE_NAME
        JobDataMap key with which to specify the name of the file to monitor.
        See Also:
        Constant Field Values
      • FILE_SCAN_LISTENER_NAME

        public static final java.lang.String FILE_SCAN_LISTENER_NAME
        JobDataMap key with which to specify the FileScanListener to be notified when the file 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

      • FileScanJob

        public FileScanJob()
    • 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)
      • getLastModifiedDate

        protected long getLastModifiedDate​(java.lang.String fileName)