public abstract class PollingDataSourceBuilder extends java.lang.Object implements ComponentConfigurer<DataSource>
Polling is not the default behavior; by default, the SDK uses a streaming connection to receive feature flag data from LaunchDarkly. In polling mode, the SDK instead makes a new HTTP request to LaunchDarkly at regular intervals. HTTP caching allows it to avoid redundantly downloading data if there have been no changes, but polling is still less efficient than streaming and should only be used on the advice of LaunchDarkly support.
To use polling mode, create a builder with Components.pollingDataSource()
,
change its properties with the methods of this class, and pass it to LDConfig.Builder.dataSource(ComponentConfigurer)
:
LDConfig config = new LDConfig.Builder()
.dataSource(Components.pollingDataSource().pollInterval(Duration.ofSeconds(45)))
.build();
Note that this class is abstract; the actual implementation is created by calling Components.pollingDataSource()
.
Modifier and Type | Field and Description |
---|---|
static java.time.Duration |
DEFAULT_POLL_INTERVAL
The default and minimum value for
pollInterval(Duration) : 30 seconds. |
protected java.lang.String |
payloadFilter |
protected java.time.Duration |
pollInterval |
Constructor and Description |
---|
PollingDataSourceBuilder() |
Modifier and Type | Method and Description |
---|---|
PollingDataSourceBuilder |
payloadFilter(java.lang.String payloadFilter)
Sets the Payload Filter that will be used to filter the objects (flags, segments, etc.)
from this data source.
|
PollingDataSourceBuilder |
pollInterval(java.time.Duration pollInterval)
Sets the interval at which the SDK will poll for feature flag updates.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
build
public static final java.time.Duration DEFAULT_POLL_INTERVAL
pollInterval(Duration)
: 30 seconds.protected java.time.Duration pollInterval
protected java.lang.String payloadFilter
public PollingDataSourceBuilder pollInterval(java.time.Duration pollInterval)
The default and minimum value is DEFAULT_POLL_INTERVAL
. Values less than this will be
set to the default.
pollInterval
- the polling interval; null to use the defaultpublic PollingDataSourceBuilder payloadFilter(java.lang.String payloadFilter)
payloadFilter
- the filter to be used