public static class LDConfig.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder()
Creates a builder with all configuration parameters set to the default
|
Modifier and Type | Method and Description |
---|---|
LDConfig |
build()
Builds the configured
LDConfig object. |
LDConfig.Builder |
dataSource(DataSourceFactory factory)
Sets the implementation of the component that receives feature flag data from LaunchDarkly,
using a factory object.
|
LDConfig.Builder |
dataStore(DataStoreFactory factory)
Sets the implementation of the data store to be used for holding feature flags and
related data received from LaunchDarkly, using a factory object.
|
LDConfig.Builder |
diagnosticOptOut(boolean diagnosticOptOut)
Set to true to opt out of sending diagnostics data.
|
LDConfig.Builder |
events(EventProcessorFactory factory)
Sets the implementation of
EventProcessor to be used for processing analytics events. |
LDConfig.Builder |
http(HttpConfigurationFactory factory)
Sets the SDK's networking configuration, using a factory object.
|
LDConfig.Builder |
logging(LoggingConfigurationFactory factory)
Sets the SDK's logging configuration, using a factory object.
|
LDConfig.Builder |
offline(boolean offline)
Set whether this client is offline.
|
LDConfig.Builder |
startWait(java.time.Duration startWait)
Set how long the constructor will block awaiting a successful connection to LaunchDarkly.
|
LDConfig.Builder |
threadPriority(int threadPriority)
Set the priority to use for all threads created by the SDK.
|
public Builder()
public LDConfig.Builder dataSource(DataSourceFactory factory)
The default is Components.streamingDataSource()
. You may instead use
Components.pollingDataSource()
, or a test fixture such as
FileData.dataSource()
. See those methods
for details on how to configure them.
factory
- the factory objectpublic LDConfig.Builder dataStore(DataStoreFactory factory)
Components.inMemoryDataStore()
; for database integrations, use
Components.persistentDataStore(com.launchdarkly.sdk.server.interfaces.PersistentDataStoreFactory)
.factory
- the factory objectpublic LDConfig.Builder diagnosticOptOut(boolean diagnosticOptOut)
Unless diagnosticOptOut
is set to true, the client will send some diagnostics data to the
LaunchDarkly servers in order to assist in the development of future SDK improvements. These diagnostics
consist of an initial payload containing some details of SDK in use, the SDK's configuration, and the platform
the SDK is being run on; as well as payloads sent periodically with information on irregular occurrences such
as dropped events.
diagnosticOptOut
- true if you want to opt out of sending any diagnostics dataEventProcessorBuilder.diagnosticRecordingInterval(Duration)
public LDConfig.Builder events(EventProcessorFactory factory)
EventProcessor
to be used for processing analytics events.
The default is Components.sendEvents()
, but you may choose to use a custom implementation
(for instance, a test fixture), or disable events with Components.noEvents()
.
factory
- a builder/factory object for event configurationpublic LDConfig.Builder http(HttpConfigurationFactory factory)
Components.httpConfiguration()
, which has methods
for setting individual HTTP-related properties.factory
- the factory objectComponents.httpConfiguration()
public LDConfig.Builder logging(LoggingConfigurationFactory factory)
Components.logging()
, which has methods
for setting individual logging-related properties.factory
- the factory objectComponents.logging()
public LDConfig.Builder offline(boolean offline)
In offline mode, the SDK will not make network connections to LaunchDarkly for any purpose. Feature flag data will only be available if it already exists in the data store, and analytics events will not be sent.
This is equivalent to calling dataSource(Components.externalUpdatesOnly())
and
events(Components.noEvents())
. It overrides any other values you may have set for
dataSource(DataSourceFactory)
or events(EventProcessorFactory)
.
offline
- when set to true no calls to LaunchDarkly will be madepublic LDConfig.Builder startWait(java.time.Duration startWait)
startWait
- maximum time to wait; null to use the defaultpublic LDConfig.Builder threadPriority(int threadPriority)
By default, the SDK's worker threads use Thread.MIN_PRIORITY
so that they will yield to
application threads if the JVM is busy. You may increase this if you want the SDK to be prioritized
over some other low-priority tasks.
Values outside the range of [Thread.MIN_PRIORITY
, Thread.MAX_PRIORITY
] will be set
to the minimum or maximum.
threadPriority
- the priority for SDK threads