Package com.mongodb.connection
Class ServerDescription
java.lang.Object
com.mongodb.connection.ServerDescription
Immutable snapshot state of a server.
- Since:
- 3.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder for creating ServerDescription. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe maximum supported driver wire versionstatic final StringThe minimum supported driver server versionstatic final intThe minimum supported driver wire version -
Method Summary
Modifier and TypeMethodDescriptionstatic ServerDescription.Builderbuilder()Gets a Builder for creating a new ServerDescription instance.static ServerDescription.Builderbuilder(ServerDescription serverDescription) Creates a Builder for a ServerDescription instance based on a previous serverDescription.booleanGets the address of this serverGets the arbiters in the replica setGets the string representing the host name and port that this member of a replica set was configured with, e.g.Gets the type of the cluster this server is in (for example, replica set).static intGet the default maximum document size.static intGet the default maximum wire versionstatic intGet the default minimum wire versionThe replica set electionid reported by this MongoDB server.Gets the exception thrown while attempting to determine the server description.getHosts()Get a Set of strings in the format of "[hostname]:[port]" that contains all members of the replica set that are neither hidden, passive, nor arbiters.longgetLastUpdateTime(TimeUnit timeUnit) Gets the time that this server description was created, using a monotonic clock likeSystem.nanoTime().Gets the last write date.Gets the session timeout in minutes.intThe maximum permitted size of a BSON object in bytes for this mongod process.intThe latest version of the wire protocol that this MongoDB server is capable of using to communicate with clients.longGet the recent min time it took to make the round trip for requesting this information from the server in nanoseconds.intThe earliest version of the wire protocol that this MongoDB server is capable of using to communicate with clients.Gets the passive members of the replica set.Gets the address of the current primary in the replica setlongGet the weighted average time it took to make the round trip for requesting this information from the server in nanoseconds.Gets the name of the replica setThe replica set setVersion reported by this MongoDB server.Returns a short, pretty description for this ServerDescription.getState()Gets the current state of the connection to the server.A set of all tags assigned to this member.The topologyVersion reported by this MongoDB server.getType()Gets the type of the server, for example whether it's a standalone or in a replica set.inthashCode()booleanReturns true if the server has the given tags.booleanReturn whether the server is compatible with the driver.booleanisCryptd()Returns whether this server is mongocryptd.booleanGets whether this server supports the "hello" command.booleanReturn whether the server is compatible with the driver.booleanReturn whether the server is compatible with the driver.booleanisOk()The isOK() result from requesting this information from the serverbooleanReturns whether this can be treated as a primary server.booleanGets whether this server is a replica set member.booleanReturns whether this can be treated as a secondary server.booleanGets whether this is a server that is the entry point to a sharded instance of MongoDB.booleanGets whether this is part of a replica set/sharded system, or is a single server.toString()
-
Field Details
-
MIN_DRIVER_SERVER_VERSION
The minimum supported driver server version- Since:
- 3.8
- See Also:
-
MIN_DRIVER_WIRE_VERSION
public static final int MIN_DRIVER_WIRE_VERSIONThe minimum supported driver wire version- Since:
- 3.8
- See Also:
-
MAX_DRIVER_WIRE_VERSION
public static final int MAX_DRIVER_WIRE_VERSIONThe maximum supported driver wire version- Since:
- 3.8
- See Also:
-
-
Method Details
-
builder
Gets a Builder for creating a new ServerDescription instance.- Returns:
- a new Builder for ServerDescription.
-
builder
Creates a Builder for a ServerDescription instance based on a previous serverDescription.- Parameters:
serverDescription- the ServerDescription to base the builder from- Returns:
- a new Builder for ServerDescription.
- Since:
- 4.1
-
getCanonicalAddress
Gets the string representing the host name and port that this member of a replica set was configured with, e.g."somehost:27019". This is typically derived from the "me" field from the "hello" command response.- Returns:
- the host name and port that this replica set member is configured with.
-
getLogicalSessionTimeoutMinutes
Gets the session timeout in minutes.- Returns:
- the session timeout in minutes, or null if sessions are not supported by this server
- Since:
- 3.6
- Since server release
- 3.6
-
isHelloOk
public boolean isHelloOk()Gets whether this server supports the "hello" command. The default isfalse.- Returns:
- true if this server supports the "hello" command.
- Since:
- 4.3
- Since server release
- 5.0
-
isCompatibleWithDriver
public boolean isCompatibleWithDriver()Return whether the server is compatible with the driver. An incompatible server is one that has a min wire version greater that the driver's max wire version or a max wire version less than the driver's min wire version.A load balancer is always deemed to be compatible.
- Returns:
- true if the server is compatible with the driver.
-
isIncompatiblyNewerThanDriver
public boolean isIncompatiblyNewerThanDriver()Return whether the server is compatible with the driver. An incompatible server is one that has a min wire version greater that the driver's max wire version or a max wire version less than the driver's min wire version.A load balancer is always deemed to be compatible.
- Returns:
- true if the server is compatible with the driver.
- Since:
- 3.6
-
isIncompatiblyOlderThanDriver
public boolean isIncompatiblyOlderThanDriver()Return whether the server is compatible with the driver. An incompatible server is one that has a min wire version greater that the driver's max wire version or a max wire version less than the driver's min wire version.A load balancer is always deemed to be compatible.
- Returns:
- true if the server is compatible with the driver.
- Since:
- 3.6
-
getDefaultMaxDocumentSize
public static int getDefaultMaxDocumentSize()Get the default maximum document size.- Returns:
- the default maximum document size
-
getDefaultMinWireVersion
public static int getDefaultMinWireVersion()Get the default minimum wire version- Returns:
- the default minimum wire version
-
getDefaultMaxWireVersion
public static int getDefaultMaxWireVersion()Get the default maximum wire version- Returns:
- the default maximum wire version
-
getAddress
Gets the address of this server- Returns:
- a ServerAddress containing the details of the address of this server.
-
isReplicaSetMember
public boolean isReplicaSetMember()Gets whether this server is a replica set member.- Returns:
- true if this server is part of a replica set
-
isShardRouter
public boolean isShardRouter()Gets whether this is a server that is the entry point to a sharded instance of MongoDB.- Returns:
- true if this server is a mongos instance
-
isStandAlone
public boolean isStandAlone()Gets whether this is part of a replica set/sharded system, or is a single server.- Returns:
- true if this is a single server
-
isPrimary
public boolean isPrimary()Returns whether this can be treated as a primary server.- Returns:
- true if this server is the primary in a replica set, is a mongos, a load balancer, or is a single standalone server
-
isSecondary
public boolean isSecondary()Returns whether this can be treated as a secondary server.- Returns:
- true if this server is a secondary in a replica set, is a mongos, a load balancer, or is a single standalone server
-
isCryptd
public boolean isCryptd()Returns whether this server is mongocryptd.- Returns:
- true if this server is a mongocryptd.
-
getHosts
Get a Set of strings in the format of "[hostname]:[port]" that contains all members of the replica set that are neither hidden, passive, nor arbiters.- Returns:
- all members of the replica set that are neither hidden, passive, nor arbiters.
-
getPassives
Gets the passive members of the replica set.- Returns:
- A set of strings in the format of "[hostname]:[port]" listing all members of the replica set which have a priority of 0.
-
getArbiters
Gets the arbiters in the replica set- Returns:
- A Set of strings in the format of "[hostname]:[port]" containing all members of the replica set that are arbiters.
-
getPrimary
Gets the address of the current primary in the replica set- Returns:
- A string in the format of "[hostname]:[port]" listing the current primary member of the replica set.
-
getMaxDocumentSize
public int getMaxDocumentSize()The maximum permitted size of a BSON object in bytes for this mongod process. Defaults to 16MB.- Returns:
- the maximum size a document can be
-
getTagSet
A set of all tags assigned to this member.- Returns:
- a TagSet with all the tags for this server.
-
getMinWireVersion
public int getMinWireVersion()The earliest version of the wire protocol that this MongoDB server is capable of using to communicate with clients.- Returns:
- the minimum protocol version supported by this server
-
getMaxWireVersion
public int getMaxWireVersion()The latest version of the wire protocol that this MongoDB server is capable of using to communicate with clients.- Returns:
- the maximum protocol version supported by this server
-
getElectionId
The replica set electionid reported by this MongoDB server.- Returns:
- the electionId, which may be null
-
getSetVersion
The replica set setVersion reported by this MongoDB server.- Returns:
- the setVersion, which may be null
-
getTopologyVersion
The topologyVersion reported by this MongoDB server.- Returns:
- the topologyVersion, which may be null
- Since:
- 4.1
- Since server release
- 4.4
-
getLastWriteDate
Gets the last write date.- Returns:
- the last write date, which may be null
- Since:
- 3.4
- Since server release
- 3.4
-
getLastUpdateTime
Gets the time that this server description was created, using a monotonic clock likeSystem.nanoTime().- Parameters:
timeUnit- the time unit- Returns:
- the last update time in the given unit
- Since:
- 3.4
-
hasTags
Returns true if the server has the given tags. A server of either typeServerType.STANDALONEorServerType.SHARD_ROUTERis considered to have all tags, so this method will always return true for instances of either of those types.- Parameters:
desiredTags- the tags- Returns:
- true if this server has the given tags
-
getSetName
Gets the name of the replica set- Returns:
- the name of the replica set
-
isOk
public boolean isOk()The isOK() result from requesting this information from the server- Returns:
- true if the request executed correctly
-
getState
Gets the current state of the connection to the server.- Returns:
- ServerConnectionState representing whether the server has been successfully connected to
-
getType
Gets the type of the server, for example whether it's a standalone or in a replica set.- Returns:
- the server type
-
getClusterType
Gets the type of the cluster this server is in (for example, replica set).- Returns:
- a ClusterType representing the type of the cluster this server is in
-
getRoundTripTimeNanos
public long getRoundTripTimeNanos()Get the weighted average time it took to make the round trip for requesting this information from the server in nanoseconds.- Returns:
- the time taken to request the information, in nano seconds
-
getMinRoundTripTimeNanos
Get the recent min time it took to make the round trip for requesting this information from the server in nanoseconds.- Returns:
- the recent min time taken to request the information, in nano seconds
- Since:
- 5.2
-
getException
Gets the exception thrown while attempting to determine the server description. This is useful for diagnostic purposed when determining the root cause of a connectivity failure.- Returns:
- the exception, which may be null
-
equals
-
hashCode
public int hashCode() -
toString
-
getShortDescription
Returns a short, pretty description for this ServerDescription.- Returns:
- a String containing the most pertinent information about this ServerDescription
-