List<ServerDescription>
choose(ClusterDescription clusterDescription)
Chooses the servers from the given cluster than match this read preference.
protected abstract List<ServerDescription>
chooseForNonReplicaSet(ClusterDescription clusterDescription)
protected abstract List<ServerDescription>
chooseForReplicaSet(ClusterDescription clusterDescription)
abstract String
getName()
Gets the name of this read preference.
abstract boolean
isSlaveOk()
True if this read preference allows reading from a secondary member of a replica set.
static ReadPreference
nearest()
Gets a read preference that forces reads to a primary or a secondary.
static ReadPreference
nearest(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a primary or a secondary that is less stale than the given maximum.
static TaggableReadPreference
nearest(TagSet tagSet)
Gets a read preference that forces reads to the primary or a secondary with the given set of tags.
static TaggableReadPreference
nearest(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary or a secondary with the given set of tags that is less stale than the given maximum.
static TaggableReadPreference
nearest(List<TagSet> tagSetList)
Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags.
static TaggableReadPreference
nearest(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags that is less stale than the given maximum.
static ReadPreference
primary()
Gets a read preference that forces read to the primary.
static ReadPreference
primaryPreferred()
Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
static ReadPreference
primaryPreferred(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
static TaggableReadPreference
primaryPreferred(TagSet tagSet)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with the given set of tags.
static TaggableReadPreference
primaryPreferred(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with the given set of tags that is less stale than the given maximum.
static TaggableReadPreference
primaryPreferred(List<TagSet> tagSetList)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags.
static TaggableReadPreference
primaryPreferred(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags that is less stale than the given maximum.
static ReadPreference
secondary()
Gets a read preference that forces reads to a secondary.
static ReadPreference
secondary(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary that is less stale than the given maximum.
static TaggableReadPreference
secondary(TagSet tagSet)
Gets a read preference that forces reads to a secondary with the given set of tags.
static TaggableReadPreference
secondary(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with the given set of tags that is less stale than the given maximum.
static TaggableReadPreference
secondary(List<TagSet> tagSetList)
Gets a read preference that forces reads to a secondary with one of the given sets of tags.
static TaggableReadPreference
secondary(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than the given maximum.
static ReadPreference
secondaryPreferred()
Gets a read preference that forces reads to a secondary if one is available, otherwise to the primary.
static ReadPreference
secondaryPreferred(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary that is less stale than the given maximumm if one is available, otherwise to the primary.
static TaggableReadPreference
secondaryPreferred(TagSet tagSet)
Gets a read preference that forces reads to a secondary with the given set of tags, or the primary is none are available.
static TaggableReadPreference
secondaryPreferred(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with the given set of tags that is less stale than the given maximum, or the primary is none are available.
static TaggableReadPreference
secondaryPreferred(List<TagSet> tagSetList)
Gets a read preference that forces reads to a secondary with one of the given sets of tags.
static TaggableReadPreference
secondaryPreferred(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than the given maximum.
abstract BsonDocument
toDocument()
Gets a document representing this read preference in the wire protocol.
static ReadPreference
valueOf(String name)
Creates a read preference from the given read preference name.
static TaggableReadPreference
valueOf(String name, List<TagSet> tagSetList)
Creates a taggable read preference from the given read preference name and list of tag sets.
static TaggableReadPreference
valueOf(String name, List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Creates a taggable read preference from the given read preference name, list of tag sets, and max allowable staleness of secondaries.
public abstract boolean isSlaveOk()
True if this read preference allows reading from a secondary member of a replica set.
public abstract String getName()
Gets the name of this read preference.
public abstract BsonDocument toDocument()
Gets a document representing this read preference in the wire protocol.
public final List<ServerDescription> choose(ClusterDescription clusterDescription)
Chooses the servers from the given cluster than match this read preference.
clusterDescription
- the cluster description
protected abstract List<ServerDescription> chooseForNonReplicaSet(ClusterDescription clusterDescription)
protected abstract List<ServerDescription> chooseForReplicaSet(ClusterDescription clusterDescription)
public static ReadPreference primary()
Gets a read preference that forces read to the primary.
public static ReadPreference primaryPreferred()
Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
public static ReadPreference secondary()
Gets a read preference that forces reads to a secondary.
public static ReadPreference secondaryPreferred()
Gets a read preference that forces reads to a secondary if one is available, otherwise to the primary.
public static ReadPreference nearest()
Gets a read preference that forces reads to a primary or a secondary.
public static ReadPreference primaryPreferred(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static ReadPreference secondary(long maxStaleness, TimeUnit timeUnit)
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.
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static ReadPreference secondaryPreferred(long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary that is less stale than the given maximumm if one is available, otherwise to the primary.
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.
*
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static ReadPreference nearest(long maxStaleness, TimeUnit timeUnit)
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.
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference primaryPreferred(TagSet tagSet)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with the given set of tags.
tagSet
- the set of tags to limit the list of secondaries to.
public static TaggableReadPreference secondary(TagSet tagSet)
Gets a read preference that forces reads to a secondary with the given set of tags.
tagSet
- the set of tags to limit the list of secondaries to
public static TaggableReadPreference secondaryPreferred(TagSet tagSet)
Gets a read preference that forces reads to a secondary with the given set of tags, or the primary is none are available.
tagSet
- the set of tags to limit the list of secondaries to
public static TaggableReadPreference nearest(TagSet tagSet)
Gets a read preference that forces reads to the primary or a secondary with the given set of tags.
tagSet
- the set of tags to limit the list of secondaries to
public static TaggableReadPreference primaryPreferred(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
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.
tagSet
- the set of tags to limit the list of secondaries to.
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference secondary(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
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.
tagSet
- the set of tags to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference secondaryPreferred(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with the given set of tags that is less stale than the given maximum, or the primary is none are available.
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.
*
tagSet
- the set of tags to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference nearest(TagSet tagSet, long maxStaleness, TimeUnit timeUnit)
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.
tagSet
- the set of tags to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference primaryPreferred(List<TagSet> tagSetList)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags. The driver will look for a secondary with each tag set in the given list, stopping after one is found, or failing if no secondary can be found that matches any of the tag sets in the list.
tagSetList
- the list of tag sets to limit the list of secondaries to
public static TaggableReadPreference secondary(List<TagSet> tagSetList)
Gets a read preference that forces reads to a secondary with one of the given sets of tags. The driver will look for a secondary with each tag set in the given list, stopping after one is found, or failing if no secondary can be found that matches any of the tag sets in the list.
tagSetList
- the list of tag sets to limit the list of secondaries to
public static TaggableReadPreference secondaryPreferred(List<TagSet> tagSetList)
Gets a read preference that forces reads to a secondary with one of the given sets of tags. The driver will look for a secondary with each tag set in the given list, stopping after one is found, or the primary if none are available.
tagSetList
- the list of tag sets to limit the list of secondaries to
public static TaggableReadPreference nearest(List<TagSet> tagSetList)
Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags. The driver will look for a secondary with each tag set in the given list, stopping after one is found, or the primary if none are available.
tagSetList
- the list of tag sets to limit the list of secondaries to
public static TaggableReadPreference primaryPreferred(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags that is less stale than the given maximum.
The driver will look for a secondary with each tag set in the given list, stopping after one is found, or failing if no secondary can be found that matches any of the tag sets in the list.
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.
tagSetList
- the list of tag sets to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference secondary(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than the given maximum.
The driver will look for a secondary with each tag set in the given list, stopping after one is found, or failing if no secondary can be found that matches any of the tag sets in the list.
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.
tagSetList
- the list of tag sets to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference secondaryPreferred(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than the given maximum.
The driver will look for a secondary with each tag set in the given list, stopping after one is found, or the primary if none are available.
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.
tagSetList
- the list of tag sets to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static TaggableReadPreference nearest(List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags that is less stale than the given maximum.
The driver will look for a secondary with each tag set in the given list, stopping after one is found, or the primary if none are available.
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.
tagSetList
- the list of tag sets to limit the list of secondaries to
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
public static ReadPreference valueOf(String name)
Creates a read preference from the given read preference name.
name
- the name of the read preference
public static TaggableReadPreference valueOf(String name, List<TagSet> tagSetList)
Creates a taggable read preference from the given read preference name and list of tag sets.
name
- the name of the read preference
tagSetList
- the list of tag sets
public static TaggableReadPreference valueOf(String name, List<TagSet> tagSetList, long maxStaleness, TimeUnit timeUnit)
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.
name
- the name of the read preference
tagSetList
- the list of tag sets
maxStaleness
- the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency plus 10 seconds, whichever is greatest.
timeUnit
- the time unit of maxStaleness
TaggableReadPreference.getMaxStaleness(TimeUnit)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4