public class WatchManager extends AbstractLifeCycle
FileWatcher
s.FileWatcher
,
ConfigurationScheduler
Modifier and Type | Class and Description |
---|---|
private class |
WatchManager.FileMonitor |
private class |
WatchManager.WatchRunnable |
LifeCycle.State
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ScheduledFuture<?> |
future |
private int |
intervalSeconds |
private static Logger |
logger |
private ConfigurationScheduler |
scheduler |
private java.util.concurrent.ConcurrentMap<java.io.File,WatchManager.FileMonitor> |
watchers |
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
Constructor and Description |
---|
WatchManager(ConfigurationScheduler scheduler) |
Modifier and Type | Method and Description |
---|---|
int |
getIntervalSeconds()
Gets how often this manager checks for file modifications.
|
java.util.Map<java.io.File,FileWatcher> |
getWatchers() |
private java.lang.String |
millisToString(long millis) |
void |
reset()
Resets all file monitors to their current last modified time.
|
void |
reset(java.io.File file)
Resets the file monitor for the given file being watched to its current last modified time.
|
void |
setIntervalSeconds(int intervalSeconds) |
void |
start() |
boolean |
stop(long timeout,
java.util.concurrent.TimeUnit timeUnit)
Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current
thread is interrupted, whichever happens first.
|
java.lang.String |
toString() |
void |
unwatchFile(java.io.File file)
Unwatches the given file.
|
void |
watchFile(java.io.File file,
FileWatcher watcher)
Watches the given file.
|
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
private static Logger logger
private final java.util.concurrent.ConcurrentMap<java.io.File,WatchManager.FileMonitor> watchers
private int intervalSeconds
private java.util.concurrent.ScheduledFuture<?> future
private final ConfigurationScheduler scheduler
public WatchManager(ConfigurationScheduler scheduler)
public void reset()
This allows you to start, stop, reset and start again a manager, without triggering file modified events if the a watched file has changed during the period of time when the manager was stopped.
public void reset(java.io.File file)
This allows you to start, stop, reset and start again a manager, without triggering file modified events if the given watched file has changed during the period of time when the manager was stopped.
file
- the file for the monitor to reset.public void setIntervalSeconds(int intervalSeconds)
public int getIntervalSeconds()
public void start()
start
in interface LifeCycle
start
in class AbstractLifeCycle
public boolean stop(long timeout, java.util.concurrent.TimeUnit timeUnit)
LifeCycle2
stop
in interface LifeCycle2
stop
in class AbstractLifeCycle
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumentpublic void unwatchFile(java.io.File file)
file
- the file to stop watching.public void watchFile(java.io.File file, FileWatcher watcher)
file
- the file to watch.watcher
- the watcher to notify of file changes.public java.util.Map<java.io.File,FileWatcher> getWatchers()
private java.lang.String millisToString(long millis)
public java.lang.String toString()
toString
in class java.lang.Object