Class CoreEnvironment
- java.lang.Object
-
- com.couchbase.client.core.env.CoreEnvironment
-
- All Implemented Interfaces:
AutoCloseable
public class CoreEnvironment extends Object implements AutoCloseable
The Environment is the main place in the SDK where configuration and state lives (i.e. I/O pools).Note that unless you are using the core directly, you want to consider the child implementations for each language binding (i.e. the ClusterEnvironment for the java client).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CoreEnvironment.Builder<SELF extends CoreEnvironment.Builder<SELF>>
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_MAX_NUM_REQUESTS_IN_RETRY
Default maximum requests being queued in retry before performing backpressure cancellations.
-
Constructor Summary
Constructors Modifier Constructor Description protected
CoreEnvironment(CoreEnvironment.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CoreEnvironment.Builder
builder()
Optional<String>
clientHash()
If present, returns the git hash for the client at build time.Optional<String>
clientVersion()
If present, returns the client version at build time.void
close()
CompressionConfig
compressionConfig()
Returns the current compression configuration.Optional<String>
coreHash()
If present, returns the git hash for the core at build time.Optional<String>
coreVersion()
If present, returns the core version at build time.static CoreEnvironment
create()
protected String
defaultAgentTitle()
Returns the default user agent name that is used as part of the resulting string.EventBus
eventBus()
The central event bus which manages all kinds of messages flowing throughout the client.Executor
executor()
Returns the executor used to schedule non-reactive async tasks across the SDK.String
exportAsString(Context.ExportFormat format)
Export this environment into the specified format.IoConfig
ioConfig()
Returns the current configuration for all I/O-related settings.IoEnvironment
ioEnvironment()
Holds the environmental configuration/state that is tied to the IO layer.LoggerConfig
loggerConfig()
Returns the current logger configuration.long
maxNumRequestsInRetry()
Returns the maximum number of requests allowed in retry, before no more ops are allowed and canceled.Meter
meter()
OrphanReporter
orphanReporter()
Returns the orphan reporter on this environment.List<RequestCallback>
requestCallbacks()
RequestTracer
requestTracer()
Returns the request tracer for response time observability.RetryStrategy
retryStrategy()
Returns the retry strategy on this environment.Scheduler
scheduler()
Returns the scheduler used to schedule reactive, async tasks across the SDK.SecurityConfig
securityConfig()
Returns the current security configuration (TLS etc.).void
shutdown()
Shuts down this Environment with the default disconnect timeout.void
shutdown(Duration timeout)
Shuts down this Environment with a custom timeout.CompletableFuture<Void>
shutdownAsync()
Shuts down this Environment with the default disconnect timeout.CompletableFuture<Void>
shutdownAsync(Duration timeout)
Shuts down this Environment with a custom timeout.Mono<Void>
shutdownReactive()
Shuts down this Environment with the default disconnect timeout.Mono<Void>
shutdownReactive(Duration timeout)
Shuts down this Environment with a custom timeout.TimeoutConfig
timeoutConfig()
Returns the configuration for all default timeouts.Timer
timer()
Returns the timer used to schedule timeouts and retries amongst other tasks.String
toString()
CoreTransactionsConfig
transactionsConfig()
CoreTransactionsSchedulers
transactionsSchedulers()
The schedulers used for any transactional operations.UserAgent
userAgent()
User agent used to identify this client against the server.
-
-
-
Field Detail
-
DEFAULT_MAX_NUM_REQUESTS_IN_RETRY
public static final long DEFAULT_MAX_NUM_REQUESTS_IN_RETRY
Default maximum requests being queued in retry before performing backpressure cancellations.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CoreEnvironment
protected CoreEnvironment(CoreEnvironment.Builder builder)
-
-
Method Detail
-
create
public static CoreEnvironment create()
-
builder
public static CoreEnvironment.Builder builder()
-
defaultAgentTitle
protected String defaultAgentTitle()
Returns the default user agent name that is used as part of the resulting string.
-
clientHash
public Optional<String> clientHash()
If present, returns the git hash for the client at build time.
-
coreHash
public Optional<String> coreHash()
If present, returns the git hash for the core at build time.
-
clientVersion
public Optional<String> clientVersion()
If present, returns the client version at build time.
-
coreVersion
public Optional<String> coreVersion()
If present, returns the core version at build time.
-
userAgent
public UserAgent userAgent()
User agent used to identify this client against the server.
-
eventBus
public EventBus eventBus()
The central event bus which manages all kinds of messages flowing throughout the client.- Returns:
- the event bus currently in use.
-
ioEnvironment
public IoEnvironment ioEnvironment()
Holds the environmental configuration/state that is tied to the IO layer.
-
ioConfig
public IoConfig ioConfig()
Returns the current configuration for all I/O-related settings.
-
timeoutConfig
public TimeoutConfig timeoutConfig()
Returns the configuration for all default timeouts.
-
securityConfig
public SecurityConfig securityConfig()
Returns the current security configuration (TLS etc.).
-
compressionConfig
public CompressionConfig compressionConfig()
Returns the current compression configuration.
-
loggerConfig
public LoggerConfig loggerConfig()
Returns the current logger configuration.
-
scheduler
public Scheduler scheduler()
Returns the scheduler used to schedule reactive, async tasks across the SDK.
-
executor
@Internal public Executor executor()
Returns the executor used to schedule non-reactive async tasks across the SDK.
-
requestTracer
@Volatile public RequestTracer requestTracer()
Returns the request tracer for response time observability.Note that this right now is unsupported, volatile API and subject to change!
-
requestCallbacks
@Internal public List<RequestCallback> requestCallbacks()
-
timer
public Timer timer()
Returns the timer used to schedule timeouts and retries amongst other tasks.
-
retryStrategy
public RetryStrategy retryStrategy()
Returns the retry strategy on this environment.
-
orphanReporter
public OrphanReporter orphanReporter()
Returns the orphan reporter on this environment.
-
maxNumRequestsInRetry
public long maxNumRequestsInRetry()
Returns the maximum number of requests allowed in retry, before no more ops are allowed and canceled.
-
transactionsConfig
@Volatile public CoreTransactionsConfig transactionsConfig()
-
transactionsSchedulers
@Volatile public CoreTransactionsSchedulers transactionsSchedulers()
The schedulers used for any transactional operations.
-
shutdownAsync
public CompletableFuture<Void> shutdownAsync()
Shuts down this Environment with the default disconnect timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
-
shutdownAsync
public CompletableFuture<Void> shutdownAsync(Duration timeout)
Shuts down this Environment with a custom timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
- Parameters:
timeout
- the timeout to wait maximum.
-
shutdownReactive
public Mono<Void> shutdownReactive()
Shuts down this Environment with the default disconnect timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
-
shutdownReactive
public Mono<Void> shutdownReactive(Duration timeout)
Shuts down this Environment with a custom timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
- Parameters:
timeout
- the timeout to wait maximum.
-
shutdown
public void shutdown(Duration timeout)
Shuts down this Environment with a custom timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
- Parameters:
timeout
- the timeout to wait maximum.
-
shutdown
public void shutdown()
Shuts down this Environment with the default disconnect timeout.Note that once shutdown, the environment cannot be restarted so it is advised to perform this operation at the very last operation in the SDK shutdown process.
-
exportAsString
public String exportAsString(Context.ExportFormat format)
Export this environment into the specified format.- Parameters:
format
- the format to export into.- Returns:
- the exported format as a string representation.
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
-