Class ConnectionProfile

java.lang.Object
org.elasticsearch.transport.ConnectionProfile

public final class ConnectionProfile extends Object
A connection profile describes how many connection are established to specific node for each of the available request types. (TransportRequestOptions.Type). This allows to tailor a connection towards a specific usage.
  • Method Details

    • resolveConnectionProfile

      public static ConnectionProfile resolveConnectionProfile(@Nullable ConnectionProfile profile, ConnectionProfile fallbackProfile)
      takes a ConnectionProfile resolves it to a fully specified (i.e., no nulls) profile
    • buildDefaultConnectionProfile

      public static ConnectionProfile buildDefaultConnectionProfile(Settings settings)
      Builds a default connection profile based on the provided settings.
      Parameters:
      settings - to build the connection profile from
      Returns:
      the connection profile
    • buildSingleChannelProfile

      public static ConnectionProfile buildSingleChannelProfile(TransportRequestOptions.Type channelType)
      Builds a connection profile that is dedicated to a single channel type. Use this when opening single use connections
    • buildSingleChannelProfile

      public static ConnectionProfile buildSingleChannelProfile(TransportRequestOptions.Type channelType, @Nullable org.elasticsearch.core.TimeValue connectTimeout, @Nullable org.elasticsearch.core.TimeValue handshakeTimeout, @Nullable org.elasticsearch.core.TimeValue pingInterval, @Nullable Compression.Enabled compressionEnabled, @Nullable Compression.Scheme compressionScheme)
      Builds a connection profile that is dedicated to a single channel type. Allows passing connection and handshake timeouts and compression settings.
    • getConnectTimeout

      public org.elasticsearch.core.TimeValue getConnectTimeout()
      Returns the connect timeout or null if no explicit timeout is set on this profile.
    • getHandshakeTimeout

      public org.elasticsearch.core.TimeValue getHandshakeTimeout()
      Returns the handshake timeout or null if no explicit timeout is set on this profile.
    • getPingInterval

      public org.elasticsearch.core.TimeValue getPingInterval()
      Returns the ping interval or null if no explicit ping interval is set on this profile.
    • getCompressionEnabled

      public Compression.Enabled getCompressionEnabled()
      Returns the compression enabled configuration or null if no explicit compression configuration is set on this profile.
    • getCompressionScheme

      public Compression.Scheme getCompressionScheme()
      Returns the configured compression scheme or null if no explicit compression scheme is set on this profile.
    • getNumConnections

      public int getNumConnections()
      Returns the total number of connections for this profile
    • getNumConnectionsPerType

      public int getNumConnectionsPerType(TransportRequestOptions.Type type)
      Returns the number of connections per type for this profile. This might return a count that is shared with other types such that the sum of all connections per type might be higher than getNumConnections(). For instance if TransportRequestOptions.Type.BULK shares connections with TransportRequestOptions.Type.REG they will return both the same number of connections from this method but the connections are not distinct.