Package org.elasticsearch.watcher
Class ResourceWatcherService
java.lang.Object
org.elasticsearch.watcher.ResourceWatcherService
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class ResourceWatcherService
extends java.lang.Object
implements java.io.Closeable
Generic resource watcher service
Other elasticsearch services can register their resource watchers with this service using
add(ResourceWatcher)
method. This service will call ResourceWatcher.checkAndNotify()
method of all
registered watcher periodically. The frequency of checks can be specified using resource.reload.interval
setting, which
defaults to 60s
. The service can be disabled by setting resource.reload.enabled
setting to false
.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResourceWatcherService.Frequency
-
Field Summary
Fields Modifier and Type Field Description static Setting<java.lang.Boolean>
ENABLED
static Setting<org.elasticsearch.common.unit.TimeValue>
RELOAD_INTERVAL_HIGH
static Setting<org.elasticsearch.common.unit.TimeValue>
RELOAD_INTERVAL_LOW
static Setting<org.elasticsearch.common.unit.TimeValue>
RELOAD_INTERVAL_MEDIUM
-
Constructor Summary
Constructors Constructor Description ResourceWatcherService(Settings settings, ThreadPool threadPool)
-
Method Summary
Modifier and Type Method Description <W extends ResourceWatcher>
WatcherHandle<W>add(W watcher)
Register new resource watcher that will be checked in defaultMEDIUM
frequency<W extends ResourceWatcher>
WatcherHandle<W>add(W watcher, ResourceWatcherService.Frequency frequency)
Register new resource watcher that will be checked in the given frequencyvoid
close()
void
notifyNow(ResourceWatcherService.Frequency frequency)
-
Field Details
-
Constructor Details
-
Method Details
-
close
public void close()- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
add
Register new resource watcher that will be checked in defaultMEDIUM
frequency- Throws:
java.io.IOException
-
add
public <W extends ResourceWatcher> WatcherHandle<W> add(W watcher, ResourceWatcherService.Frequency frequency) throws java.io.IOExceptionRegister new resource watcher that will be checked in the given frequency- Throws:
java.io.IOException
-
notifyNow
-