org.quartz.jobs
Class FileScanJob
java.lang.Object
org.quartz.jobs.FileScanJob
- All Implemented Interfaces:
- Job
@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class FileScanJob
- extends 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 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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
FileScanJob
public FileScanJob()
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
JobListener
s or
TriggerListener
s 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(String fileName)
Copyright 2001-2011,
Terracotta, Inc.