public class DefaultCoreEnvironment extends Object implements CoreEnvironment
Modifier and Type | Class and Description |
---|---|
static class |
DefaultCoreEnvironment.Builder |
Modifier | Constructor and Description |
---|---|
protected |
DefaultCoreEnvironment(DefaultCoreEnvironment.Builder builder) |
Modifier and Type | Method and Description |
---|---|
long |
autoreleaseAfter()
The time in milliseconds after which a non-subscribed observable is going to be automatically released.
|
protected boolean |
booleanPropertyOr(String path,
boolean def) |
int |
bootstrapCarrierDirectPort()
The port to use when bootstrapping through carrier publication without SSL.
|
boolean |
bootstrapCarrierEnabled()
If bootstrapping through the advanced carrier publication is enabled.
|
int |
bootstrapCarrierSslPort()
The port to use when bootstrapping through carrier publication with SSL.
|
int |
bootstrapHttpDirectPort()
The port to use when bootstrapping through HTTP without SSL.
|
boolean |
bootstrapHttpEnabled()
If bootstrapping through HTTP is enabled.
|
int |
bootstrapHttpSslPort()
The port to use when bootstrapping through HTTP with SSL.
|
boolean |
bufferPoolingEnabled()
Returns if buffer pooling is enabled for greater GC efficiency.
|
static DefaultCoreEnvironment.Builder |
builder() |
boolean |
callbacksOnIoPool()
Returns true if the
Observable callbacks are completed on the IO event loops. |
int |
computationPoolSize()
Returns the pool size (number of threads) for all computation tasks.
|
String |
coreBuild()
Returns build information on the Couchbase Java SDK core.
|
String |
coreVersion()
Returns version information on the core.
|
static DefaultCoreEnvironment |
create() |
double |
dcpConnectionBufferAckThreshold()
When a DCP connection read bytes reaches this percentage of the
CoreEnvironment.dcpConnectionBufferSize() , a DCP Buffer Acknowledge message is sent to the server |
int |
dcpConnectionBufferSize()
Size of the buffer to control speed of DCP producer.
|
String |
dcpConnectionName() |
boolean |
dcpEnabled()
Identifies if DCP should be enabled.
|
protected static double |
doublePropertyOr(String path,
double def) |
protected StringBuilder |
dumpParameters(StringBuilder sb)
Dumps the environment parameters known to this implementation into a
StringBuilder , which is returned for method chaining. |
EventBus |
eventBus()
Returns the event bus where events are broadcasted on and can be published to.
|
protected int |
intPropertyOr(String path,
int def) |
EventLoopGroup |
ioPool()
Returns the IO pool for the underlying IO framework.
|
int |
ioPoolSize()
Returns the configured IO pool size.
|
long |
keepAliveInterval()
The time in milliseconds after which some service will issue a form of keep-alive request.
|
int |
kvEndpoints()
The number of key/value service endpoints.
|
protected static long |
longPropertyOr(String path,
long def) |
long |
maxRequestLifetime()
Returns the maximum time in milliseconds a request is allowed to life.
|
boolean |
mutationTokensEnabled()
Returns true if extended mutation tokens are enabled.
|
NetworkLatencyMetricsCollector |
networkLatencyMetricsCollector()
Returns the collector responsible for aggregating and publishing network latency information.
|
Delay |
observeIntervalDelay()
|
String |
packageNameAndVersion()
Returns name and the version of the package.
|
boolean |
queryEnabled()
True if N1QL querying should be enabled manually, deprecated.
|
int |
queryEndpoints()
The number of query service endpoints.
|
int |
queryPort()
If manual querying enabled, this defines the N1QL port to use, deprecated.
|
Delay |
reconnectDelay()
Returns the
Delay for node reconnects. |
int |
requestBufferSize()
Returns the size of the request ringbuffer.
|
int |
responseBufferSize()
Returns the size of the response ringbuffer.
|
Delay |
retryDelay()
Returns the
Delay for request retries. |
RetryStrategy |
retryStrategy()
The retry strategy on how to dispatch requests in the failure case.
|
MetricsCollector |
runtimeMetricsCollector()
Returns the collector responsible for aggregating and publishing runtime information like gc and memory.
|
Scheduler |
scheduler()
Returns the scheduler which should be used for all core actions that need to happen asynchronously.
|
int |
searchEndpoints()
The number of search service endpoints.
|
Observable<Boolean> |
shutdown()
Deprecated.
|
Observable<Boolean> |
shutdownAsync()
Shutdown the
CoreEnvironment in an asynchronous fashion. |
int |
socketConnectTimeout()
Returns the amount of time the SDK will wait on the socket connect until an error is raised and handled.
|
boolean |
sslEnabled()
Identifies if SSL should be enabled.
|
String |
sslKeystoreFile()
Identifies the filepath to the ssl keystore.
|
String |
sslKeystorePassword()
The password which is used to protect the keystore.
|
protected String |
stringPropertyOr(String path,
String def) |
boolean |
tcpNodelayEnabled()
Returns true if TCP_NODELAY is enabled (therefore Nagle’ing is disabled).
|
String |
toString() |
String |
userAgent()
Library identification string, which can be used as User-Agent header in HTTP requests.
|
int |
viewEndpoints()
The number of view service endpoints.
|
public static final boolean DCP_ENABLED
public static final boolean SSL_ENABLED
public static final String SSL_KEYSTORE_FILE
public static final String SSL_KEYSTORE_PASSWORD
public static final boolean QUERY_ENABLED
public static final int QUERY_PORT
public static final boolean BOOTSTRAP_HTTP_ENABLED
public static final boolean BOOTSTRAP_CARRIER_ENABLED
public static final int BOOTSTRAP_HTTP_DIRECT_PORT
public static final int BOOTSTRAP_HTTP_SSL_PORT
public static final int BOOTSTRAP_CARRIER_DIRECT_PORT
public static final int BOOTSTRAP_CARRIER_SSL_PORT
public static final int REQUEST_BUFFER_SIZE
public static final int RESPONSE_BUFFER_SIZE
public static final int DCP_CONNECTION_BUFFER_SIZE
public static final double DCP_CONNECTION_BUFFER_ACK_THRESHOLD
public static final String DCP_CONNECTION_NAME
public static final int IO_POOL_SIZE
public static final int COMPUTATION_POOL_SIZE
public static final int KEYVALUE_ENDPOINTS
public static final int VIEW_ENDPOINTS
public static final int QUERY_ENDPOINTS
public static final int SEARCH_ENDPOINTS
public static final Delay OBSERVE_INTERVAL_DELAY
public static final Delay RECONNECT_DELAY
public static final Delay RETRY_DELAY
public static final RetryStrategy RETRY_STRATEGY
public static final long MAX_REQUEST_LIFETIME
public static final long KEEPALIVEINTERVAL
public static final long AUTORELEASE_AFTER
public static final boolean BUFFER_POOLING_ENABLED
public static final boolean TCP_NODELAY_ENALED
public static final boolean MUTATION_TOKENS_ENABLED
public static final int SOCKET_CONNECT_TIMEOUT
public static final boolean CALLBACKS_ON_IO_POOL
public static String CORE_VERSION
public static String CORE_GIT_VERSION
public static String PACKAGE_NAME_AND_VERSION
public static String USER_AGENT
protected DefaultCoreEnvironment(DefaultCoreEnvironment.Builder builder)
public static DefaultCoreEnvironment create()
public static DefaultCoreEnvironment.Builder builder()
protected boolean booleanPropertyOr(String path, boolean def)
protected int intPropertyOr(String path, int def)
protected static long longPropertyOr(String path, long def)
protected static double doublePropertyOr(String path, double def)
public EventLoopGroup ioPool()
CoreEnvironment
Returns the IO pool for the underlying IO framework.
ioPool
in interface CoreEnvironment
@Deprecated public Observable<Boolean> shutdown()
CoreEnvironment
Shutdown the CoreEnvironment
.
shutdown
in interface CoreEnvironment
Observable
eventually returning a boolean, indicating the success of the shutdown.public Observable<Boolean> shutdownAsync()
CoreEnvironment
Shutdown the CoreEnvironment
in an asynchronous fashion.
Since this method is asynchronous and cold, it is important to subscribe to the observable to actually initiate the shutdown process.
shutdownAsync
in interface CoreEnvironment
Observable
eventually returning a boolean, indicating the success of the shutdown.public Scheduler scheduler()
CoreEnvironment
Returns the scheduler which should be used for all core actions that need to happen asynchronously.
scheduler
in interface CoreEnvironment
public boolean sslEnabled()
CoreEnvironment
Identifies if SSL should be enabled.
sslEnabled
in interface CoreEnvironment
public boolean dcpEnabled()
CoreEnvironment
Identifies if DCP should be enabled.
dcpEnabled
in interface CoreEnvironment
public String sslKeystoreFile()
CoreEnvironment
Identifies the filepath to the ssl keystore.
sslKeystoreFile
in interface CoreEnvironment
public String sslKeystorePassword()
CoreEnvironment
The password which is used to protect the keystore.
sslKeystorePassword
in interface CoreEnvironment
public boolean queryEnabled()
CoreEnvironment
True if N1QL querying should be enabled manually, deprecated.
With Couchbase Server 4.0 and onward, it will be automatically detected.
queryEnabled
in interface CoreEnvironment
public int queryPort()
CoreEnvironment
If manual querying enabled, this defines the N1QL port to use, deprecated.
With Couchbase Server 4.0 and onward, it will be automatically detected.
queryPort
in interface CoreEnvironment
public boolean bootstrapHttpEnabled()
CoreEnvironment
If bootstrapping through HTTP is enabled.
bootstrapHttpEnabled
in interface CoreEnvironment
public boolean bootstrapCarrierEnabled()
CoreEnvironment
If bootstrapping through the advanced carrier publication is enabled.
bootstrapCarrierEnabled
in interface CoreEnvironment
public int bootstrapHttpDirectPort()
CoreEnvironment
The port to use when bootstrapping through HTTP without SSL.
bootstrapHttpDirectPort
in interface CoreEnvironment
public int bootstrapHttpSslPort()
CoreEnvironment
The port to use when bootstrapping through HTTP with SSL.
bootstrapHttpSslPort
in interface CoreEnvironment
public int bootstrapCarrierDirectPort()
CoreEnvironment
The port to use when bootstrapping through carrier publication without SSL.
bootstrapCarrierDirectPort
in interface CoreEnvironment
public int bootstrapCarrierSslPort()
CoreEnvironment
The port to use when bootstrapping through carrier publication with SSL.
bootstrapCarrierSslPort
in interface CoreEnvironment
public int ioPoolSize()
CoreEnvironment
Returns the configured IO pool size.
ioPoolSize
in interface CoreEnvironment
public int computationPoolSize()
CoreEnvironment
Returns the pool size (number of threads) for all computation tasks.
computationPoolSize
in interface CoreEnvironment
public int requestBufferSize()
CoreEnvironment
Returns the size of the request ringbuffer.
requestBufferSize
in interface CoreEnvironment
public int responseBufferSize()
CoreEnvironment
Returns the size of the response ringbuffer.
responseBufferSize
in interface CoreEnvironment
public int dcpConnectionBufferSize()
CoreEnvironment
Size of the buffer to control speed of DCP producer.
dcpConnectionBufferSize
in interface CoreEnvironment
public double dcpConnectionBufferAckThreshold()
CoreEnvironment
When a DCP connection read bytes reaches this percentage of the CoreEnvironment.dcpConnectionBufferSize()
, a DCP Buffer Acknowledge message is sent to the server
dcpConnectionBufferAckThreshold
in interface CoreEnvironment
@InterfaceStability.Experimental @InterfaceAudience.Public public String dcpConnectionName()
dcpConnectionName
in interface CoreEnvironment
public int kvEndpoints()
CoreEnvironment
The number of key/value service endpoints.
kvEndpoints
in interface CoreEnvironment
public int viewEndpoints()
CoreEnvironment
The number of view service endpoints.
viewEndpoints
in interface CoreEnvironment
public int queryEndpoints()
CoreEnvironment
The number of query service endpoints.
queryEndpoints
in interface CoreEnvironment
public int searchEndpoints()
CoreEnvironment
The number of search service endpoints.
searchEndpoints
in interface CoreEnvironment
public String coreVersion()
CoreEnvironment
Returns version information on the core. Version number is in the form MAJOR.MINOR.PATCH, and is the one for the core-io layer.
coreVersion
in interface CoreEnvironment
for a more specific build information (relevant for tracking
the exact version of the code the core was built from)
public String coreBuild()
CoreEnvironment
Returns build information on the Couchbase Java SDK core. This has a better granularity than CoreEnvironment.coreVersion()
and thus is more relevant to track the exact version of the code the core was built from.
Build information can contain VCS information like commit numbers, tags, etc…
coreBuild
in interface CoreEnvironment
for more generic version information.
public String userAgent()
CoreEnvironment
Library identification string, which can be used as User-Agent header in HTTP requests.
userAgent
in interface CoreEnvironment
public String packageNameAndVersion()
CoreEnvironment
Returns name and the version of the package. This method used to by @{link userAgent()}.
packageNameAndVersion
in interface CoreEnvironment
public Delay observeIntervalDelay()
CoreEnvironment
observeIntervalDelay
in interface CoreEnvironment
public Delay reconnectDelay()
CoreEnvironment
Returns the Delay
for node reconnects.
reconnectDelay
in interface CoreEnvironment
public Delay retryDelay()
CoreEnvironment
Returns the Delay
for request retries.
retryDelay
in interface CoreEnvironment
public RetryStrategy retryStrategy()
CoreEnvironment
The retry strategy on how to dispatch requests in the failure case.
retryStrategy
in interface CoreEnvironment
public long maxRequestLifetime()
CoreEnvironment
Returns the maximum time in milliseconds a request is allowed to life.
If the best effort retry strategy is used, the request will still be cancelled after this period to make sure that requests are not sticking around forever. Make sure it is longer than any timeout you potentially have configured.
maxRequestLifetime
in interface CoreEnvironment
public long keepAliveInterval()
CoreEnvironment
The time in milliseconds after which some service will issue a form of keep-alive request.
keepAliveInterval
in interface CoreEnvironment
public EventBus eventBus()
CoreEnvironment
Returns the event bus where events are broadcasted on and can be published to.
eventBus
in interface CoreEnvironment
public long autoreleaseAfter()
CoreEnvironment
The time in milliseconds after which a non-subscribed observable is going to be automatically released.
This prevents accidentally leaking buffers when requested but not consumed by the user.
autoreleaseAfter
in interface CoreEnvironment
public boolean bufferPoolingEnabled()
CoreEnvironment
Returns if buffer pooling is enabled for greater GC efficiency.
In general this is always set to true and should only be set to false if there are leaks reported that are not fixable by correcting user level code.
bufferPoolingEnabled
in interface CoreEnvironment
public boolean tcpNodelayEnabled()
CoreEnvironment
Returns true if TCP_NODELAY is enabled (therefore Nagle’ing is disabled).
tcpNodelayEnabled
in interface CoreEnvironment
public boolean mutationTokensEnabled()
CoreEnvironment
Returns true if extended mutation tokens are enabled.
Note that while this may return true, the server also needs to support it (Couchbase Server 4.0 and above). It will be negotiated during connection setup, but needs to be explicitly enabled on the environment as well to take effect (since it has a 16 bytes overhead on every mutation performed).
mutationTokensEnabled
in interface CoreEnvironment
public MetricsCollector runtimeMetricsCollector()
CoreEnvironment
Returns the collector responsible for aggregating and publishing runtime information like gc and memory.
runtimeMetricsCollector
in interface CoreEnvironment
public NetworkLatencyMetricsCollector networkLatencyMetricsCollector()
CoreEnvironment
Returns the collector responsible for aggregating and publishing network latency information.
networkLatencyMetricsCollector
in interface CoreEnvironment
public int socketConnectTimeout()
CoreEnvironment
Returns the amount of time the SDK will wait on the socket connect until an error is raised and handled.
socketConnectTimeout
in interface CoreEnvironment
public boolean callbacksOnIoPool()
CoreEnvironment
Returns true if the Observable
callbacks are completed on the IO event loops.
Note: this is an advanced option and must be used with care. It can be used to improve performance since it removes additional scheduling overhead on the response path, but any blocking calls in the callbacks will lead to more work on the event loops itself and eventually stall them.
callbacksOnIoPool
in interface CoreEnvironment
protected StringBuilder dumpParameters(StringBuilder sb)
Dumps the environment parameters known to this implementation into a StringBuilder
, which is returned for method chaining.
sb
- the StringBuilder in which to dump parameters.Copyright © 2016 Couchbase, Inc.. All rights reserved.