class MongoClientImpl extends java.lang.Object implements MongoClient
| Modifier and Type | Field and Description |
|---|---|
private ClientSessionHelper |
clientSessionHelper |
private Cluster |
cluster |
private AsyncOperationExecutor |
executor |
private java.io.Closeable |
externalResourceCloser |
private static Logger |
LOGGER |
private ServerSessionPool |
serverSessionPool |
private MongoClientSettings |
settings |
| Modifier | Constructor and Description |
|---|---|
(package private) |
MongoClientImpl(MongoClientSettings settings,
Cluster cluster,
AsyncOperationExecutor executor) |
private |
MongoClientImpl(MongoClientSettings settings,
Cluster cluster,
AsyncOperationExecutor executor,
java.io.Closeable externalResourceCloser) |
(package private) |
MongoClientImpl(MongoClientSettings settings,
Cluster cluster,
java.io.Closeable externalResourceCloser) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the client, which will close all underlying cached resources, including, for example,
sockets and background monitoring threads.
|
private MongoIterable<java.lang.String> |
createListDatabaseNamesIterable(ClientSession clientSession) |
private <T> ListDatabasesIterable<T> |
createListDatabasesIterable(ClientSession clientSession,
java.lang.Class<T> clazz) |
(package private) Cluster |
getCluster() |
MongoDatabase |
getDatabase(java.lang.String name)
Gets the database with the given name.
|
(package private) ServerSessionPool |
getServerSessionPool() |
MongoClientSettings |
getSettings()
Gets the settings that this client uses to connect to server.
|
MongoIterable<java.lang.String> |
listDatabaseNames()
Get a list of the database names
|
MongoIterable<java.lang.String> |
listDatabaseNames(ClientSession clientSession)
Get a list of the database names
|
ListDatabasesIterable<Document> |
listDatabases()
Gets the list of databases
|
<T> ListDatabasesIterable<T> |
listDatabases(java.lang.Class<T> resultClass)
Gets the list of databases
|
ListDatabasesIterable<Document> |
listDatabases(ClientSession clientSession)
Gets the list of databases
|
<TResult> ListDatabasesIterable<TResult> |
listDatabases(ClientSession clientSession,
java.lang.Class<TResult> resultClass)
Gets the list of databases
|
void |
startSession(ClientSessionOptions options,
SingleResultCallback<ClientSession> callback)
Creates a client session.
|
private static final Logger LOGGER
private final Cluster cluster
private final MongoClientSettings settings
private final AsyncOperationExecutor executor
private final java.io.Closeable externalResourceCloser
private final ServerSessionPool serverSessionPool
private final ClientSessionHelper clientSessionHelper
MongoClientImpl(MongoClientSettings settings, Cluster cluster, java.io.Closeable externalResourceCloser)
MongoClientImpl(MongoClientSettings settings, Cluster cluster, AsyncOperationExecutor executor)
private MongoClientImpl(MongoClientSettings settings, Cluster cluster, AsyncOperationExecutor executor, java.io.Closeable externalResourceCloser)
public void startSession(ClientSessionOptions options, SingleResultCallback<ClientSession> callback)
MongoClientNote: A ClientSession instance can not be used concurrently in multiple asynchronous operations.
startSession in interface MongoClientoptions - the options for the client sessioncallback - the callback that is passed the clientSession or a MongoClientException if the MongoDB cluster to which
this client is connected does not support sessionspublic MongoDatabase getDatabase(java.lang.String name)
MongoClientgetDatabase in interface MongoClientname - the name of the databaseMongoNamespace.checkDatabaseNameValidity(String)public void close()
MongoClientclose in interface MongoClientclose in interface java.io.Closeableclose in interface java.lang.AutoCloseablepublic MongoClientSettings getSettings()
MongoClientNote: MongoClientSettings is immutable.
getSettings in interface MongoClientpublic MongoIterable<java.lang.String> listDatabaseNames()
MongoClientlistDatabaseNames in interface MongoClientpublic MongoIterable<java.lang.String> listDatabaseNames(ClientSession clientSession)
MongoClientlistDatabaseNames in interface MongoClientclientSession - the client session with which to associate this operationprivate MongoIterable<java.lang.String> createListDatabaseNamesIterable(ClientSession clientSession)
public ListDatabasesIterable<Document> listDatabases()
MongoClientlistDatabases in interface MongoClientpublic ListDatabasesIterable<Document> listDatabases(ClientSession clientSession)
MongoClientlistDatabases in interface MongoClientclientSession - the client session with which to associate this operationpublic <T> ListDatabasesIterable<T> listDatabases(java.lang.Class<T> resultClass)
MongoClientlistDatabases in interface MongoClientT - the type of the class to use instead of Document.resultClass - the class to cast the database documents topublic <TResult> ListDatabasesIterable<TResult> listDatabases(ClientSession clientSession, java.lang.Class<TResult> resultClass)
MongoClientlistDatabases in interface MongoClientTResult - the type of the class to use instead of Document.clientSession - the client session with which to associate this operationresultClass - the class to cast the database documents toprivate <T> ListDatabasesIterable<T> createListDatabasesIterable(ClientSession clientSession, java.lang.Class<T> clazz)
Cluster getCluster()
ServerSessionPool getServerSessionPool()