com.ibm.wsspi.kernel.filemonitor

Interface FileMonitor


  1. public interface FileMonitor
Components that want to monitor the file system for changes should implement the FileMonitor interface and register that implementation in the service registry.

The properties associated with the registered service specify what resources are monitored and with what frequency. Valid service properties are listed as constants below with descriptive javadoc.


Field Summary

Modifier and Type Field and Description
  1. static
  2. java.lang.String
MONITOR_DIRECTORIES
Service property
  1. static
  2. java.lang.String
MONITOR_FILES
Service property
  1. static
  2. java.lang.String
MONITOR_FILTER
Service property
  1. static
  2. java.lang.String
MONITOR_FILTER_DIRECTORIES_ONLY
Property value
  1. static
  2. java.lang.String
MONITOR_FILTER_FILES_ONLY
Property value
  1. static
  2. java.lang.String
MONITOR_INCLUDE_SELF
Service property
  1. static
  2. java.lang.String
MONITOR_INTERVAL
Service property
  1. static
  2. java.lang.String
MONITOR_RECURSE
Service property
  1. static
  2. java.lang.String
MONITOR_TYPE
Service property
  1. static
  2. java.lang.String
MONITOR_TYPE_EXTERNAL
Property value
  1. static
  2. java.lang.String
MONITOR_TYPE_TIMED
Property value

Method Summary

Modifier and Type Method and Description
  1. void
onBaseline(java.util.Collection<java.io.File> baseline)
Called with the result of a scan of specified resources.
  1. void
onChange(java.util.Collection<java.io.File> createdFiles,java.util.Collection<java.io.File> modifiedFiles,java.util.Collection<java.io.File> deletedFiles)
Called by the monitor service when a scheduled scan completes with changes (indicated by the presence of files in the corresponding collection).

Field Detail

MONITOR_FILES

  1. static final java.lang.String MONITOR_FILES

Service property

The value should be a Collection, indicating what paths should be monitored. Elements of the collection will only be monitored while they do not exist, or exist as files.
See Also:

MONITOR_DIRECTORIES

  1. static final java.lang.String MONITOR_DIRECTORIES

Service property

The value should be a Collection, indicating what paths should be monitored. Elements of the collection will only be monitored while they do not exist, or exist as directories.
See Also:

MONITOR_INTERVAL

  1. static final java.lang.String MONITOR_INTERVAL

Service property

Poll/Scanning interval as a long with a time unit suffix:
  • ms - milliseconds
  • s - seconds
  • m - minutes
  • h - hours
e.g. 2ms or 5s. This is not a compound interval (e.g. 5s2ms will not work)
See Also:

MONITOR_RECURSE

  1. static final java.lang.String MONITOR_RECURSE

Service property

The value of this property should be a boolean: if true, a the monitor will receive notifications for individual files in the directory tree that have changed. If false, the monitor will only receive notification for the immediate children of the specified directory.

For example, given monitored directory A:

  • In all cases, the monitor will be notified if A/file is created, changed, or deleted.
  • When working with A/directory, if
    • monitor.recurse is true, the monitor will be notified when A/directory/file has been created, changed, or deleted.
    • monitor.recurse is false, the monitor will only be notified when A/directory is added or removed.
See Also:

MONITOR_INCLUDE_SELF

  1. static final java.lang.String MONITOR_INCLUDE_SELF

Service property

The value of this property should be a boolean: If true, the monitor will additionally notify for the creation/deletion of any directories being monitored. If false, the monitor will report only on any files monitored, and the content of any monitored directories.

For example, given monitored directory A:

  • In all cases, the monitor will be notified if A/file is created, changed, or deleted.
  • When working with A, if
    • monitor.includeself is true, the monitor will be notified when A has been created, changed, or deleted.
    • monitor.includeself is false, the monitor will not be notified if A is created, changed, or deleted.
See Also:

MONITOR_FILTER

  1. static final java.lang.String MONITOR_FILTER

Service property

The value associated with this property is a collection, where each string is either a regex match of names, or a simple string: "files" for only watching files, and "directories" for only monitoring directories.

This applies only to monitoring directories. Given monitored directory A:

  • "\\.xml" will monitor A/*.xml,
  • "directories" will only look for subdirectories of A
  • "files" will only look for files contained in A
See Also:

MONITOR_FILTER_DIRECTORIES_ONLY

  1. static final java.lang.String MONITOR_FILTER_DIRECTORIES_ONLY

Property value

Special filter string limiting the monitor to directories only.
See Also:

MONITOR_FILTER_FILES_ONLY

  1. static final java.lang.String MONITOR_FILTER_FILES_ONLY

Property value

Special filter string limiting the monitor to files only
See Also:

MONITOR_TYPE

  1. static final java.lang.String MONITOR_TYPE

Service property

The value of this property determines how the file monitoring is to be performed. Acceptable values are as follows:
  • "timed" will monitor the files and/or directories at regular intervals
  • "external" will defer monitoring to an external agent
( "timed" is the default setting.)
See Also:

MONITOR_TYPE_TIMED

  1. static final java.lang.String MONITOR_TYPE_TIMED

Property value

Monitor at regular intervals.
See Also:

MONITOR_TYPE_EXTERNAL

  1. static final java.lang.String MONITOR_TYPE_EXTERNAL

Property value

Defer monitoring to an external agent.
See Also:

Method Detail

onBaseline

  1. void onBaseline(java.util.Collection<java.io.File> baseline)
Called with the result of a scan of specified resources. Only resources that existed at the time of the scan will be included.
Parameters:
baseline - Collection of files which match the specified filters that were discovered during the scan.
See Also:
#MONITOR_BASELINE

onChange

  1. void onChange(java.util.Collection<java.io.File> createdFiles,
  2. java.util.Collection<java.io.File> modifiedFiles,
  3. java.util.Collection<java.io.File> deletedFiles)
Called by the monitor service when a scheduled scan completes with changes (indicated by the presence of files in the corresponding collection).
Parameters:
createdFiles - A collection of files that were created since the last scan.
modifiedFiles - A collection of files that were modified since the last scan.
deletedFiles - A collection of files that were deleted since the last scan.