Class IoConfig.Builder

java.lang.Object
com.couchbase.client.core.env.IoConfig.Builder
Enclosing class:
IoConfig

public static class IoConfig.Builder
extends Object
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • build

      public IoConfig build()
    • configPollInterval

      public IoConfig.Builder configPollInterval​(Duration configPollInterval)
    • enableMutationTokens

      public IoConfig.Builder enableMutationTokens​(boolean mutationTokensEnabled)
      Configures whether mutation tokens will be returned from the server for all mutation operations.
      Returns:
      this, for chaining
    • enableDnsSrv

      public IoConfig.Builder enableDnsSrv​(boolean dnsSrvEnabled)
    • enableTcpKeepAlives

      public IoConfig.Builder enableTcpKeepAlives​(boolean tcpKeepAlivesEnabled)
    • tcpKeepAliveTime

      public IoConfig.Builder tcpKeepAliveTime​(Duration tcpKeepAliveTime)
      Allows to customize the idle time after which a tcp keepalive gets fired.

      Please note that this setting only propagates to the OS on linux when the epoll transport is used. On all other platforms, the OS-configured time is used (and you need to tune it there if you want to customize the default behavior).

      Parameters:
      tcpKeepAliveTime - the custom keepalive time.
      Returns:
      this builder for chaining purposes.
    • kvCircuitBreakerConfig

      public IoConfig.Builder kvCircuitBreakerConfig​(CircuitBreakerConfig.Builder kvCircuitBreakerConfig)
      Configures a CircuitBreaker to use for key-value operations.
      Returns:
      this, for chaining
    • kvCircuitBreakerConfig

      public CircuitBreakerConfig.Builder kvCircuitBreakerConfig()
    • queryCircuitBreakerConfig

      public IoConfig.Builder queryCircuitBreakerConfig​(CircuitBreakerConfig.Builder queryCircuitBreakerConfig)
      Configures a CircuitBreaker to use for query operations.
      Returns:
      this, for chaining
    • queryCircuitBreakerConfig

      public CircuitBreakerConfig.Builder queryCircuitBreakerConfig()
    • viewCircuitBreakerConfig

      public IoConfig.Builder viewCircuitBreakerConfig​(CircuitBreakerConfig.Builder viewCircuitBreakerConfig)
      Configures a CircuitBreaker to use for view operations.
      Returns:
      this, for chaining
    • viewCircuitBreakerConfig

      public CircuitBreakerConfig.Builder viewCircuitBreakerConfig()
    • searchCircuitBreakerConfig

      public IoConfig.Builder searchCircuitBreakerConfig​(CircuitBreakerConfig.Builder searchCircuitBreakerConfig)
      Configures a CircuitBreaker to use for search operations.
      Returns:
      this, for chaining
    • searchCircuitBreakerConfig

      public CircuitBreakerConfig.Builder searchCircuitBreakerConfig()
    • analyticsCircuitBreakerConfig

      public IoConfig.Builder analyticsCircuitBreakerConfig​(CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig)
      Configures a CircuitBreaker to use for analytics operations.
      Returns:
      this, for chaining
    • analyticsCircuitBreakerConfig

      public CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig()
    • managerCircuitBreakerConfig

      public IoConfig.Builder managerCircuitBreakerConfig​(CircuitBreakerConfig.Builder managerCircuitBreakerConfig)
      Configures a CircuitBreaker to use for manager operations.
      Returns:
      this, for chaining
    • managerCircuitBreakerConfig

      public CircuitBreakerConfig.Builder managerCircuitBreakerConfig()
    • captureTraffic

      public IoConfig.Builder captureTraffic​(ServiceType... serviceTypes)
      Captures the traffic for all services provided as an argument (all if empty).

      IMPORTANT: It is not enough to just enable traffic capturing, also TRACE level logging needs to be enabled for the couchbase namespace in your logger implementation.

      Note that this flag should only be enabled during development and for debugging purposes. When enabled it will add more overhead due to traffic parsing, logging and analysis.

      Returns:
      this IoConfig.Builder for chaining purposes.
    • networkResolution

      public IoConfig.Builder networkResolution​(NetworkResolution networkResolution)
    • numKvConnections

      public IoConfig.Builder numKvConnections​(int numKvConnections)
    • maxHttpConnections

      public IoConfig.Builder maxHttpConnections​(int maxHttpConnections)
    • idleHttpConnectionTimeout

      public IoConfig.Builder idleHttpConnectionTimeout​(Duration idleHttpConnectionTimeout)
    • configIdleRedialTimeout

      public IoConfig.Builder configIdleRedialTimeout​(Duration configIdleRedialTimeout)