Interface ServerSelector

All Known Implementing Classes:
CompositeServerSelector

@ThreadSafe public interface ServerSelector

An interface for selecting a server from a cluster according to some preference.

Implementations of this interface should ensure that their equals and hashCode methods compare equal preferences as equal, as users of this interface may rely on that behavior to efficiently consolidate handling of multiple requests waiting on a server that can satisfy the preference.

Since:
3.0
  • Method Summary

    Modifier and Type
    Method
    Description
    select(ClusterDescription clusterDescription)
    Select a list of server descriptions from the given cluster description according to some criteria.
  • Method Details

    • select

      List<ServerDescription> select(ClusterDescription clusterDescription)
      Select a list of server descriptions from the given cluster description according to some criteria.
      Parameters:
      clusterDescription - the cluster of servers to select from
      Returns:
      a non-null list of ServerDescriptions that meet the requirements of this ServerSelector. This may be empty.