Constructor and Description |
---|
Builder() |
public IoConfig build()
public IoConfig.Builder configPollInterval(Duration configPollInterval)
public IoConfig.Builder enableMutationTokens(boolean mutationTokensEnabled)
public IoConfig.Builder enableDnsSrv(boolean dnsSrvEnabled)
public IoConfig.Builder enableTcpKeepAlives(boolean tcpKeepAlivesEnabled)
public IoConfig.Builder tcpKeepAliveTime(Duration tcpKeepAliveTime)
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).
tcpKeepAliveTime
- the custom keepalive time.public IoConfig.Builder kvCircuitBreakerConfig(CircuitBreakerConfig.Builder kvCircuitBreakerConfig)
kvCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for key-value operations.public IoConfig.Builder kvCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder kvCircuitBreakerConfig()
public IoConfig.Builder queryCircuitBreakerConfig(CircuitBreakerConfig.Builder queryCircuitBreakerConfig)
queryCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for query operations.public IoConfig.Builder queryCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder queryCircuitBreakerConfig()
public IoConfig.Builder viewCircuitBreakerConfig(CircuitBreakerConfig.Builder viewCircuitBreakerConfig)
viewCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for view operations.public IoConfig.Builder viewCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder viewCircuitBreakerConfig()
public IoConfig.Builder searchCircuitBreakerConfig(CircuitBreakerConfig.Builder searchCircuitBreakerConfig)
searchCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for search operations.public IoConfig.Builder searchCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder searchCircuitBreakerConfig()
public IoConfig.Builder analyticsCircuitBreakerConfig(CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig)
analyticsCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for analytics operations.public IoConfig.Builder analyticsCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder analyticsCircuitBreakerConfig()
public IoConfig.Builder managerCircuitBreakerConfig(CircuitBreakerConfig.Builder managerCircuitBreakerConfig)
managerCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for manager operations.public IoConfig.Builder managerCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder managerCircuitBreakerConfig()
public IoConfig.Builder eventingCircuitBreakerConfig(CircuitBreakerConfig.Builder eventingCircuitBreakerConfig)
eventingCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for eventing operations.public IoConfig.Builder eventingCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
public CircuitBreakerConfig.Builder eventingCircuitBreakerConfig()
@Stability.Volatile public IoConfig.Builder backupCircuitBreakerConfig(CircuitBreakerConfig.Builder backupCircuitBreakerConfig)
backupCircuitBreakerConfig(Consumer)
instead.CircuitBreaker
to use for backup operations.@Stability.Volatile public IoConfig.Builder backupCircuitBreakerConfig(Consumer<CircuitBreakerConfig.Builder> builderConsumer)
@Stability.Volatile public CircuitBreakerConfig.Builder backupCircuitBreakerConfig()
public IoConfig.Builder captureTraffic(ServiceType... serviceTypes)
IMPORTANT: Captured traffic is logged to the "com.couchbase.io" category at TRACE level.
To see the log messages, make sure your logging library is configured appropriately.
For example, if you're using Log4j2 with XML configuration, add this as a child of the <Loggers>
element:
<Logger name="com.couchbase.io" level="trace"/>
Traffic capture should only be enabled during development and for debugging purposes. When enabled it will add more overhead due to traffic parsing, logging, and analysis.
IoConfig.Builder
for chaining purposes.public IoConfig.Builder networkResolution(NetworkResolution networkResolution)
public IoConfig.Builder numKvConnections(int numKvConnections)
public IoConfig.Builder maxHttpConnections(int maxHttpConnections)
public IoConfig.Builder idleHttpConnectionTimeout(Duration idleHttpConnectionTimeout)
public IoConfig.Builder configIdleRedialTimeout(Duration configIdleRedialTimeout)
public IoConfig.Builder memcachedHashingStrategy(MemcachedHashingStrategy memcachedHashingStrategy)
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, the
Sdk2CompatibleMemcachedHashingStrategy
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 default StandardMemcachedHashingStrategy
by default.
memcachedHashingStrategy
- the strategy to use.IoConfig.Builder
for chaining purposes.@Stability.Volatile public IoConfig.Builder timerConfig(Consumer<TimerConfig.Builder> builderConsumer)
@Stability.Volatile public TimerConfig.Builder timerConfig()
Copyright © 2024 Couchbase, Inc.. All rights reserved.