Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Constructor Summary
`DirectoryScanJob()`

Method Summary
`void` | `execute(JobExecutionContext context)` Called by the ``Scheduler`` when a ``Trigger`` fires that is associated with the `Job`.
`protected File[]` | `getUpdatedOrNewFiles(String dirName, long lastDate, long maxAgeDate)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### 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

Constructor Detail

### DirectoryScanJob

    public DirectoryScanJob()

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 ``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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001-2013, Terracotta, Inc.