Package com.mongodb.connection
Class ClusterDescription
java.lang.Object
com.mongodb.connection.ClusterDescription
Immutable snapshot state of a cluster.
- Since:
- 3.0
-
Constructor Summary
ConstructorDescriptionClusterDescription
(ClusterConnectionMode connectionMode, ClusterType type, MongoException srvResolutionException, List<ServerDescription> serverDescriptions, ClusterSettings clusterSettings, ServerSettings serverSettings) Creates a new ClusterDescription.ClusterDescription
(ClusterConnectionMode connectionMode, ClusterType type, List<ServerDescription> serverDescriptions) Creates a new ClusterDescription.ClusterDescription
(ClusterConnectionMode connectionMode, ClusterType type, List<ServerDescription> serverDescriptions, ClusterSettings clusterSettings, ServerSettings serverSettings) Creates a new ClusterDescription. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Return a server in the cluster that is incompatibly newer than the driver.Return a server in the cluster that is incompatibly older than the driver.Gets the cluster settings, which may be null if not provided.Gets whether this cluster is connecting to a single server or multiple servers.Gets the logical session timeout in minutes, or null if at least one of the known servers does not support logical sessions.Returns an unmodifiable list of the server descriptions in this cluster description.Gets the server settings, which may be null if not provided.Returns a short, pretty description for this ClusterDescription.Gets any exception encountered while resolving the SRV record for the initial host.getType()
Gets the specific type of this clusterint
hashCode()
boolean
hasReadableServer
(ReadPreference readPreference) Returns true if this cluster has at least one server that satisfies the given read preference.boolean
Returns true if this cluster has at least one server that can be used for write operations.boolean
Return whether all servers in the cluster are compatible with the driver.toString()
-
Constructor Details
-
ClusterDescription
public ClusterDescription(ClusterConnectionMode connectionMode, ClusterType type, List<ServerDescription> serverDescriptions) Creates a new ClusterDescription.- Parameters:
connectionMode
- whether to connect directly to a single server or to multiple serverstype
- what sort of cluster this isserverDescriptions
- the descriptions of all the servers currently in this cluster
-
ClusterDescription
public ClusterDescription(ClusterConnectionMode connectionMode, ClusterType type, List<ServerDescription> serverDescriptions, @Nullable ClusterSettings clusterSettings, @Nullable ServerSettings serverSettings) Creates a new ClusterDescription.- Parameters:
connectionMode
- whether to connect directly to a single server or to multiple serverstype
- what sort of cluster this isserverDescriptions
- the descriptions of all the servers currently in this clusterclusterSettings
- the cluster settingsserverSettings
- the server settings- Since:
- 3.4
-
ClusterDescription
public ClusterDescription(ClusterConnectionMode connectionMode, ClusterType type, @Nullable MongoException srvResolutionException, List<ServerDescription> serverDescriptions, @Nullable ClusterSettings clusterSettings, @Nullable ServerSettings serverSettings) Creates a new ClusterDescription.- Parameters:
connectionMode
- whether to connect directly to a single server or to multiple serverstype
- what sort of cluster this issrvResolutionException
- an exception resolving the SRV recordserverDescriptions
- the descriptions of all the servers currently in this clusterclusterSettings
- the cluster settingsserverSettings
- the server settings- Since:
- 3.10
-
-
Method Details
-
getClusterSettings
Gets the cluster settings, which may be null if not provided.- Returns:
- the cluster settings
- Since:
- 3.4
-
getServerSettings
Gets the server settings, which may be null if not provided.- Returns:
- the server settings
- Since:
- 3.4
-
isCompatibleWithDriver
public boolean isCompatibleWithDriver()Return whether all servers in the cluster are compatible with the driver.- Returns:
- true if all servers in the cluster are compatible with the driver
-
findServerIncompatiblyOlderThanDriver
Return a server in the cluster that is incompatibly older than the driver.- Returns:
- a server in the cluster that is incompatibly older than the driver, or null if there are none
- Since:
- 3.6
-
findServerIncompatiblyNewerThanDriver
Return a server in the cluster that is incompatibly newer than the driver.- Returns:
- a server in the cluster that is incompatibly newer than the driver, or null if there are none
- Since:
- 3.6
-
hasReadableServer
Returns true if this cluster has at least one server that satisfies the given read preference.- Parameters:
readPreference
- the non-null read preference- Returns:
- whether this cluster has at least one server that satisfies the given read preference
- Since:
- 3.3
-
hasWritableServer
public boolean hasWritableServer()Returns true if this cluster has at least one server that can be used for write operations.- Returns:
- true if this cluster has at least one server that can be used for write operations
- Since:
- 3.3
-
getConnectionMode
Gets whether this cluster is connecting to a single server or multiple servers.- Returns:
- the ClusterConnectionMode for this cluster
-
getType
Gets the specific type of this cluster- Returns:
- a ClusterType enum representing the type of this cluster
-
getSrvResolutionException
Gets any exception encountered while resolving the SRV record for the initial host.- Returns:
- any exception encountered while resolving the SRV record for the initial host, or null if none
- Since:
- 3.10
-
getServerDescriptions
Returns an unmodifiable list of the server descriptions in this cluster description.- Returns:
- an unmodifiable list of the server descriptions in this cluster description
- Since:
- 3.3
-
getLogicalSessionTimeoutMinutes
Gets the logical session timeout in minutes, or null if at least one of the known servers does not support logical sessions.- Returns:
- the logical session timeout in minutes, which may be null
- Since:
- 3.6
- Since server release
- 3.6
-
equals
-
hashCode
public int hashCode() -
toString
-
getShortDescription
Returns a short, pretty description for this ClusterDescription.- Returns:
- a String describing this cluster.
-