org.quartz.jobs
Class FileScanJob

java.lang.Object
  extended by org.quartz.jobs.FileScanJob
All Implemented Interfaces:
org.quartz.Job

@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class FileScanJob
extends 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.

Author:
jhouse, pl47ypus
See Also:
FileScanListener

Field Summary
static String FILE_NAME
          JobDataMap key with which to specify the name of the file to monitor.
static String FILE_SCAN_LISTENER_NAME
          JobDataMap key with which to specify the FileScanListener to be notified when the file contents change.
static 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
FileScanJob()
           
 
Method Summary
 void execute(org.quartz.JobExecutionContext context)
           
protected  long getLastModifiedDate(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 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 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 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(String fileName)


Copyright 2001-2016, Terracotta, Inc.