Class IoConfig.Builder
- java.lang.Object
-
- com.couchbase.client.core.env.IoConfig.Builder
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
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 aCircuitBreaker
to use for key-value operations.- Returns:
- this, for chaining
-
kvCircuitBreakerConfig
public CircuitBreakerConfig.Builder kvCircuitBreakerConfig()
-
queryCircuitBreakerConfig
public IoConfig.Builder queryCircuitBreakerConfig(CircuitBreakerConfig.Builder queryCircuitBreakerConfig)
Configures aCircuitBreaker
to use for query operations.- Returns:
- this, for chaining
-
queryCircuitBreakerConfig
public CircuitBreakerConfig.Builder queryCircuitBreakerConfig()
-
viewCircuitBreakerConfig
public IoConfig.Builder viewCircuitBreakerConfig(CircuitBreakerConfig.Builder viewCircuitBreakerConfig)
Configures aCircuitBreaker
to use for view operations.- Returns:
- this, for chaining
-
viewCircuitBreakerConfig
public CircuitBreakerConfig.Builder viewCircuitBreakerConfig()
-
searchCircuitBreakerConfig
public IoConfig.Builder searchCircuitBreakerConfig(CircuitBreakerConfig.Builder searchCircuitBreakerConfig)
Configures aCircuitBreaker
to use for search operations.- Returns:
- this, for chaining
-
searchCircuitBreakerConfig
public CircuitBreakerConfig.Builder searchCircuitBreakerConfig()
-
analyticsCircuitBreakerConfig
public IoConfig.Builder analyticsCircuitBreakerConfig(CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig)
Configures aCircuitBreaker
to use for analytics operations.- Returns:
- this, for chaining
-
analyticsCircuitBreakerConfig
public CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig()
-
managerCircuitBreakerConfig
public IoConfig.Builder managerCircuitBreakerConfig(CircuitBreakerConfig.Builder managerCircuitBreakerConfig)
Configures aCircuitBreaker
to use for manager operations.- Returns:
- this, for chaining
-
managerCircuitBreakerConfig
public CircuitBreakerConfig.Builder managerCircuitBreakerConfig()
-
eventingCircuitBreakerConfig
public IoConfig.Builder eventingCircuitBreakerConfig(CircuitBreakerConfig.Builder eventingCircuitBreakerConfig)
Configures aCircuitBreaker
to use for eventing operations.- Returns:
- this, for chaining
-
eventingCircuitBreakerConfig
public CircuitBreakerConfig.Builder eventingCircuitBreakerConfig()
-
backupCircuitBreakerConfig
@Volatile public IoConfig.Builder backupCircuitBreakerConfig(CircuitBreakerConfig.Builder backupCircuitBreakerConfig)
Configures aCircuitBreaker
to use for backup operations.- Returns:
- this, for chaining
-
backupCircuitBreakerConfig
@Volatile public CircuitBreakerConfig.Builder backupCircuitBreakerConfig()
-
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)
-
memcachedHashingStrategy
public IoConfig.Builder memcachedHashingStrategy(MemcachedHashingStrategy memcachedHashingStrategy)
Allows to customize the hashing strategy for memcached buckets.Usually the
MemcachedHashingStrategy
should only be customized if i.e. the SDK is upgraded from Java SDK 2 and the documents in the bucket must be preserved. In this case, theSdk2CompatibleMemcachedHashingStrategy
must be chosen. If it is used though, keep in mind that it is not compatible with other SDKs, so we always recommend to use the defaultStandardMemcachedHashingStrategy
by default.- Parameters:
memcachedHashingStrategy
- the strategy to use.- Returns:
- this
IoConfig.Builder
for chaining purposes.
-
-