org.quartz.jobs
Class FileScanJob

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

@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class FileScanJob
extends java.lang.Object
implements 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 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
FileScanJob()
           
 
Method Summary
 void execute(JobExecutionContext context)
           Called by the Scheduler when a Trigger fires that is associated with the Job.
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(JobExecutionContext context)
             throws JobExecutionException
Description copied from interface: Job

Called by the Scheduler when a Trigger fires that is associated with the Job.

The implementation may wish to set a result object on the JobExecutionContext before this method exits. The result itself is meaningless to Quartz, but may be informative to JobListeners or TriggerListeners that are watching the job's execution.

Specified by:
execute in interface Job
Throws:
JobExecutionException - if there is an exception while executing the job.
See Also:
Job.execute(org.quartz.JobExecutionContext)

getLastModifiedDate

protected long getLastModifiedDate(java.lang.String fileName)


Copyright 2001-2019, Terracotta, Inc.