Class PreferHasAttributeNodeSelector

java.lang.Object
org.elasticsearch.client.PreferHasAttributeNodeSelector
All Implemented Interfaces:
NodeSelector

public final class PreferHasAttributeNodeSelector extends Object implements NodeSelector
Both PreferHasAttributeNodeSelector and HasAttributeNodeSelector will work the same if there is a Node with particular attribute in the attributes, but PreferHasAttributeNodeSelector will select another Nodes even if there is no Node with particular attribute in the attributes.
  • Constructor Details

    • PreferHasAttributeNodeSelector

      public PreferHasAttributeNodeSelector(String key, String value)
  • Method Details

    • select

      public void select(Iterable<Node> nodes)
      Description copied from interface: NodeSelector
      Select the Nodes to which to send requests. This is called with a mutable Iterable of Nodes in the order that the rest client would prefer to use them and implementers should remove nodes from the that should not receive the request. Implementers may iterate the nodes as many times as they need.

      This may be called twice per request: first for "living" nodes that have not been blacklisted by previous errors. If the selector removes all nodes from the list or if there aren't any living nodes then the RestClient will call this method with a list of "dead" nodes.

      Implementers should not rely on the ordering of the nodes.

      Specified by:
      select in interface NodeSelector
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object