Package com.ibm.wsspi.kernel.filemonitor
Interface FileMonitor
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
FieldsModifier and TypeFieldDescriptionstatic final String
Service propertystatic final String
Service propertystatic final String
Service propertystatic final String
Property valuestatic final String
Property valuestatic final String
Service propertystatic final String
Service propertystatic final String
Service propertystatic final String
Service propertystatic final String
Property valuestatic final String
Property value -
Method Summary
Modifier and TypeMethodDescriptionvoid
onBaseline
(Collection<File> baseline) Called with the result of a scan of specified resources.void
onChange
(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<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 Details
-
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
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
Service property
Poll/Scanning interval as a long with a time unit suffix:- ms - milliseconds
- s - seconds
- m - minutes
- h - hours
- See Also:
-
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
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
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
Property value
Special filter string limiting the monitor to directories only.- See Also:
-
MONITOR_FILTER_FILES_ONLY
Property value
Special filter string limiting the monitor to files only- See Also:
-
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
- See Also:
-
MONITOR_TYPE_TIMED
Property value
Monitor at regular intervals.- See Also:
-
MONITOR_TYPE_EXTERNAL
Property value
Defer monitoring to an external agent.- See Also:
-
-
Method Details
-
onBaseline
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
void onChange(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<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.
-