org.quartz.jobs
Class DirectoryScanJob
java.lang.Object
org.quartz.jobs.DirectoryScanJob
- All Implemented Interfaces:
- Job
@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class DirectoryScanJob
- extends Object
- implements 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
.
- Author:
- pl47ypus, jhouse
- See Also:
DirectoryScanListener
,
SchedulerContext
Field Summary |
static String |
DIRECTORY_NAME
JobDataMap key with which to specify the directory to be
monitored - an absolute path is recommended. |
static String |
DIRECTORY_SCAN_LISTENER_NAME
JobDataMap key with which to specify the
DirectoryScanListener to be
notified when the directory 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 |
DIRECTORY_NAME
public static final 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 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 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
DirectoryScanJob
public DirectoryScanJob()
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)
getUpdatedOrNewFiles
protected File[] getUpdatedOrNewFiles(String dirName,
long lastDate,
long maxAgeDate)
Copyright 2001-2011,
Terracotta, Inc.