org.apache.commons.configuration.reloading
public class FileChangedReloadingStrategy extends Object implements ReloadingStrategy
A reloading strategy that will reload the configuration every time its underlying file is changed.
This reloading strategy does not actively monitor a configuration file, but is triggered by its associated configuration whenever properties are accessed. It then checks the configuration file's last modification date and causes a reload if this has changed.
To avoid permanent disc access on successive property lookups a refresh delay can be specified. This has the effect that the configuration file's last modification date is only checked once in this delay period. The default value for this refresh delay is 5 seconds.
This strategy only works with FileConfiguration instances.
Since: 1.1
Version: $Revision: 439648 $, $Date: 2006-09-02 22:42:10 +0200 (Sa, 02 Sep 2006) $
Field Summary | |
---|---|
protected FileConfiguration | configuration Stores a reference to the configuration to be monitored. |
static int | DEFAULT_REFRESH_DELAY Constant for the default refresh delay. |
static String | JAR_PROTOCOL Constant for the jar URL protocol. |
protected long | lastChecked The last time the file was checked for changes. |
protected long | lastModified The last time the configuration file was modified. |
protected long | refreshDelay The minimum delay in milliseconds between checks. |
Method Summary | |
---|---|
File | fileFromURL(URL url)
Helper method for transforming a URL into a file object. |
protected File | getFile()
Returns the file that is monitored by this strategy. |
long | getRefreshDelay()
Return the minimal time in milliseconds between two reloadings.
|
protected boolean | hasChanged()
Check if the configuration has changed since the last time it was loaded.
|
void | init() |
void | reloadingPerformed() |
boolean | reloadingRequired() |
void | setConfiguration(FileConfiguration configuration) |
void | setRefreshDelay(long refreshDelay)
Set the minimal time between two reloadings.
|
protected void | updateLastModified()
Update the last modified time. |
Parameters: url the URL to be converted
Returns: the resulting file or null
Returns: the monitored file
Returns: the refresh delay (in milliseconds)
Returns: a flag whether the configuration has changed
Parameters: refreshDelay refresh delay in milliseconds