Package com.mongodb
Class TaggableReadPreference
- java.lang.Object
-
- com.mongodb.ReadPreference
-
- com.mongodb.TaggableReadPreference
-
@Immutable public abstract class TaggableReadPreference extends ReadPreference
Abstract class for all preference which can be combined with tags
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<ServerDescription>
chooseForNonReplicaSet(ClusterDescription clusterDescription)
protected static ClusterDescription
copyClusterDescription(ClusterDescription clusterDescription, List<ServerDescription> selectedServers)
boolean
equals(Object o)
Long
getMaxStaleness(TimeUnit timeUnit)
Gets the maximum acceptable staleness of a secondary in order to be considered for read operations.List<TagSet>
getTagSetList()
Gets the list of tag sets as a list ofTagSet
instances.int
hashCode()
boolean
isSlaveOk()
True if this read preference allows reading from a secondary member of a replica set.protected List<ServerDescription>
selectFreshServers(ClusterDescription clusterDescription, List<ServerDescription> servers)
BsonDocument
toDocument()
Gets a document representing this read preference in the wire protocol.String
toString()
-
Methods inherited from class com.mongodb.ReadPreference
choose, chooseForReplicaSet, getName, nearest, nearest, nearest, nearest, nearest, nearest, primary, primaryPreferred, primaryPreferred, primaryPreferred, primaryPreferred, primaryPreferred, primaryPreferred, secondary, secondary, secondary, secondary, secondary, secondary, secondaryPreferred, secondaryPreferred, secondaryPreferred, secondaryPreferred, secondaryPreferred, secondaryPreferred, valueOf, valueOf, valueOf
-
-
-
-
Method Detail
-
isSlaveOk
public boolean isSlaveOk()
Description copied from class:ReadPreference
True if this read preference allows reading from a secondary member of a replica set.- Specified by:
isSlaveOk
in classReadPreference
- Returns:
- if reading from a secondary is ok
-
toDocument
public BsonDocument toDocument()
Description copied from class:ReadPreference
Gets a document representing this read preference in the wire protocol.- Specified by:
toDocument
in classReadPreference
- Returns:
- the document
-
getTagSetList
public List<TagSet> getTagSetList()
Gets the list of tag sets as a list ofTagSet
instances.- Returns:
- the list of tag sets
- Since:
- 2.13
-
getMaxStaleness
@Nullable public Long getMaxStaleness(TimeUnit timeUnit)
Gets the maximum acceptable staleness of a secondary in order to be considered for read operations.The maximum staleness feature is designed to prevent badly-lagging servers from being selected. The staleness estimate is imprecise and shouldn't be used to try to select "up-to-date" secondaries.
The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server isMaster responses, and selects only those secondaries whose staleness is less than or equal to maxStaleness.
- Parameters:
timeUnit
- the time unit in which to return the value- Returns:
- the maximum acceptable staleness in the given time unit, or null if the value is not set
- Since:
- 3.4
- Since server release
- 3.4
-
chooseForNonReplicaSet
protected List<ServerDescription> chooseForNonReplicaSet(ClusterDescription clusterDescription)
- Specified by:
chooseForNonReplicaSet
in classReadPreference
-
copyClusterDescription
protected static ClusterDescription copyClusterDescription(ClusterDescription clusterDescription, List<ServerDescription> selectedServers)
-
selectFreshServers
protected List<ServerDescription> selectFreshServers(ClusterDescription clusterDescription, List<ServerDescription> servers)
-
-