Package org.elasticsearch.client.sniff
Class Sniffer
java.lang.Object
org.elasticsearch.client.sniff.Sniffer
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class Sniffer
extends java.lang.Object
implements java.io.Closeable
Class responsible for sniffing nodes from some source (default is elasticsearch itself) and setting them to a provided instance of
RestClient
. Must be created via SnifferBuilder
, which allows to set all of the different options or rely on defaults.
A background task fetches the nodes through the NodesSniffer
and sets them to the RestClient
instance.
It is possible to perform sniffing on failure by creating a SniffOnFailureListener
and providing it as an argument to
RestClientBuilder.setFailureListener(RestClient.FailureListener)
. The Sniffer implementation needs to be lazily set to the
previously created SniffOnFailureListener through SniffOnFailureListener.setSniffer(Sniffer)
.-
Method Summary
Modifier and Type Method Description static SnifferBuilder
builder(org.elasticsearch.client.RestClient restClient)
Returns a newSnifferBuilder
to help withSniffer
creation.void
close()
void
sniffOnFailure()
Schedule sniffing to run as soon as possible if it isn't already running.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Method Details
-
sniffOnFailure
public void sniffOnFailure()Schedule sniffing to run as soon as possible if it isn't already running. Once such sniffing round runs it will also schedule a new round after sniffAfterFailureDelay ms. -
close
public void close()- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
builder
Returns a newSnifferBuilder
to help withSniffer
creation.- Parameters:
restClient
- the client that gets its hosts set (viaRestClient.setNodes(Collection)
) once they are fetched- Returns:
- a new instance of
SnifferBuilder
-