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​(RestClient restClient)
    Returns a new SnifferBuilder to help with Sniffer 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 interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
    • builder

      public static SnifferBuilder builder​(RestClient restClient)
      Returns a new SnifferBuilder to help with Sniffer creation.
      Parameters:
      restClient - the client that gets its hosts set (via RestClient.setNodes(Collection)) once they are fetched
      Returns:
      a new instance of SnifferBuilder