java.lang.Object
io.lettuce.core.cluster.ClusterTopologyRefreshOptions.Builder
- Enclosing class:
- ClusterTopologyRefreshOptions
public static class ClusterTopologyRefreshOptions.Builder extends Object
Builder for
ClusterTopologyRefreshOptions.-
Method Summary
-
Method Details
-
enableAdaptiveRefreshTrigger
public ClusterTopologyRefreshOptions.Builder enableAdaptiveRefreshTrigger(ClusterTopologyRefreshOptions.RefreshTrigger... refreshTrigger)Enables adaptive topology refreshing using one or moretriggers. Adaptive refresh triggers initiate topology view updates based on events happened during Redis Cluster operations. Adaptive triggers lead to an immediate topology refresh. Adaptive triggered refreshes are rate-limited using a timeout since events can happen on a large scale. Adaptive refresh triggers are disabled by default. See alsoadaptiveRefreshTriggersTimeout(long, TimeUnit)andClusterTopologyRefreshOptions.RefreshTrigger.- Parameters:
refreshTrigger- one or moreClusterTopologyRefreshOptions.RefreshTriggerto enabled- Returns:
this
-
enableAllAdaptiveRefreshTriggers
Enables adaptive topology refreshing using alltriggers. Adaptive refresh triggers initiate topology view updates based on events happened during Redis Cluster operations. Adaptive triggers lead to an immediate topology refresh. Adaptive triggered refreshes are rate-limited using a timeout since events can happen on a large scale. Adaptive refresh triggers are disabled by default. See alsoadaptiveRefreshTriggersTimeout(long, TimeUnit)andClusterTopologyRefreshOptions.RefreshTrigger.- Returns:
this
-
adaptiveRefreshTriggersTimeout
Set the timeout for adaptive topology updates. This timeout is to rate-limit topology updates initiated by refresh triggers to one topology refresh per timeout. Defaults to 30 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT.- Parameters:
timeout- timeout for rate-limit adaptive topology updates, must be greater than 0.- Returns:
this- Since:
- 5.0
-
adaptiveRefreshTriggersTimeout
@Deprecated public ClusterTopologyRefreshOptions.Builder adaptiveRefreshTriggersTimeout(long timeout, TimeUnit unit)Deprecated.since 5.0, useadaptiveRefreshTriggersTimeout(Duration).Set the timeout for adaptive topology updates. This timeout is to rate-limit topology updates initiated by refresh triggers to one topology refresh per timeout. Defaults to 30 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT.- Parameters:
timeout- timeout for rate-limit adaptive topology updatesunit- unit fortimeout- Returns:
this
-
closeStaleConnections
Flag, whether to close stale connections when refreshing the cluster topology. Defaults totrue. Comes only into effect ifClusterTopologyRefreshOptions.isPeriodicRefreshEnabled()istrue. SeeClusterTopologyRefreshOptions.DEFAULT_CLOSE_STALE_CONNECTIONS.- Parameters:
closeStaleConnections-trueif stale connections are cleaned up after cluster topology updates- Returns:
this
-
dynamicRefreshSources
Discover cluster nodes from topology and use the discovered nodes as source for the cluster topology. Using dynamic refresh will query all discovered nodes for the cluster topology and calculate the number of clients for each node.If set tofalse, only the initial seed nodes will be used as sources for topology discovery and the number of clients will be obtained only for the initial seed nodes. This can be useful when using Redis Cluster with many nodes. Defaults totrue. SeeClusterTopologyRefreshOptions.DEFAULT_DYNAMIC_REFRESH_SOURCES.- Parameters:
dynamicRefreshSources-trueto discover and query all cluster nodes for obtaining the cluster topology- Returns:
this
-
enablePeriodicRefresh
Enables periodic cluster topology updates. The client starts updating the cluster topology in the intervals ofrefreshPeriod. Defaults tofalse. SeeClusterTopologyRefreshOptions.DEFAULT_PERIODIC_REFRESH_ENABLED.- Returns:
this
-
enablePeriodicRefresh
Enable regular cluster topology updates. The client starts updating the cluster topology in the intervals ofrefreshPeriod. Defaults tofalse. SeeClusterTopologyRefreshOptions.DEFAULT_PERIODIC_REFRESH_ENABLED.- Parameters:
enabled-trueenable regular cluster topology updates orfalseto disable auto-updating- Returns:
this
-
enablePeriodicRefresh
Enables periodic refresh and sets the refresh period. Defaults to 60 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT. This method is a shortcut forrefreshPeriod(long, TimeUnit)andenablePeriodicRefresh().- Parameters:
refreshPeriod- period for triggering topology updates, must be greater 0- Returns:
this- Since:
- 5.0
-
enablePeriodicRefresh
@Deprecated public ClusterTopologyRefreshOptions.Builder enablePeriodicRefresh(long refreshPeriod, TimeUnit refreshPeriodUnit)Deprecated.since 5.0, useenablePeriodicRefresh(Duration).Enables periodic refresh and sets the refresh period. Defaults to 60 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT. This method is a shortcut forrefreshPeriod(long, TimeUnit)andenablePeriodicRefresh().- Parameters:
refreshPeriod- period for triggering topology updates, must be greater 0refreshPeriodUnit- unit forrefreshPeriod, must not benull- Returns:
this
-
refreshPeriod
Set the refresh period. Defaults to 60 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT.- Parameters:
refreshPeriod- period for triggering topology updates, must be greater 0- Returns:
this- Since:
- 5.0
-
refreshPeriod
@Deprecated public ClusterTopologyRefreshOptions.Builder refreshPeriod(long refreshPeriod, TimeUnit refreshPeriodUnit)Deprecated.since 5.0, userefreshPeriod(Duration).Set the refresh period. Defaults to 60 SECONDS. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIODandClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD_UNIT.- Parameters:
refreshPeriod- period for triggering topology updates, must be greater 0refreshPeriodUnit- unit forrefreshPeriod, must not benull- Returns:
this
-
refreshTriggersReconnectAttempts
public ClusterTopologyRefreshOptions.Builder refreshTriggersReconnectAttempts(int refreshTriggersReconnectAttempts)Set the threshold for theClusterTopologyRefreshOptions.RefreshTrigger.PERSISTENT_RECONNECTS. Topology updates based on persistent reconnects lead only to a refresh if the reconnect process tries at leastrefreshTriggersReconnectAttempts. SeeClusterTopologyRefreshOptions.DEFAULT_REFRESH_TRIGGERS_RECONNECT_ATTEMPTS.- Parameters:
refreshTriggersReconnectAttempts- number of reconnect attempts for a connection before a n adaptive topology refresh is triggered- Returns:
this
-
build
Create a new instance ofClusterTopologyRefreshOptions- Returns:
- new instance of
ClusterTopologyRefreshOptions
-
adaptiveRefreshTriggersTimeout(Duration).