class DefaultServerConnection extends AbstractReferenceCounted implements Connection, AsyncConnection
| Modifier and Type | Field and Description |
|---|---|
private ClusterConnectionMode |
clusterConnectionMode |
private static Logger |
LOGGER |
private ProtocolExecutor |
protocolExecutor |
private InternalConnection |
wrapped |
| Constructor and Description |
|---|
DefaultServerConnection(InternalConnection wrapped,
ProtocolExecutor protocolExecutor,
ClusterConnectionMode clusterConnectionMode) |
| Modifier and Type | Method and Description |
|---|---|
<T> T |
command(java.lang.String database,
BsonDocument command,
boolean slaveOk,
FieldNameValidator fieldNameValidator,
Decoder<T> commandResultDecoder)
Execute the command.
|
<T> void |
commandAsync(java.lang.String database,
BsonDocument command,
boolean slaveOk,
FieldNameValidator fieldNameValidator,
Decoder<T> commandResultDecoder,
SingleResultCallback<T> callback)
Execute the command asynchronously.
|
WriteConcernResult |
delete(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<DeleteRequest> deletes)
Delete the documents using the delete wire protocol and apply the write concern.
|
void |
deleteAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<DeleteRequest> deletes,
SingleResultCallback<WriteConcernResult> callback)
Delete the documents using the delete wire protocol and apply the write concern asynchronously.
|
BulkWriteResult |
deleteCommand(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<DeleteRequest> deletes)
Delete the documents using the delete command.
|
void |
deleteCommandAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<DeleteRequest> deletes,
SingleResultCallback<BulkWriteResult> callback)
Delete the documents using the delete command asynchronously.
|
private <T> T |
executeProtocol(Protocol<T> protocol) |
private <T> void |
executeProtocolAsync(Protocol<T> protocol,
SingleResultCallback<T> callback) |
ConnectionDescription |
getDescription()
Gets the description of the connection.
|
<T> QueryResult<T> |
getMore(MongoNamespace namespace,
long cursorId,
int numberToReturn,
Decoder<T> resultDecoder)
Get more result documents from a cursor.
|
<T> void |
getMoreAsync(MongoNamespace namespace,
long cursorId,
int numberToReturn,
Decoder<T> resultDecoder,
SingleResultCallback<QueryResult<T>> callback)
Get more result documents from a cursor asynchronously.
|
private boolean |
getSlaveOk(boolean slaveOk) |
WriteConcernResult |
insert(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<InsertRequest> inserts)
Insert the documents using the insert wire protocol and apply the write concern.
|
void |
insertAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<InsertRequest> inserts,
SingleResultCallback<WriteConcernResult> callback)
Insert the documents using the insert wire protocol and apply the write concern asynchronously.
|
BulkWriteResult |
insertCommand(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.lang.Boolean bypassDocumentValidation,
java.util.List<InsertRequest> inserts)
Insert the documents using the insert command.
|
BulkWriteResult |
insertCommand(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<InsertRequest> inserts)
Insert the documents using the insert command.
|
void |
insertCommandAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.lang.Boolean bypassDocumentValidation,
java.util.List<InsertRequest> inserts,
SingleResultCallback<BulkWriteResult> callback)
Insert the documents using the insert command asynchronously.
|
void |
insertCommandAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<InsertRequest> inserts,
SingleResultCallback<BulkWriteResult> callback)
Insert the documents using the insert command asynchronously.
|
void |
killCursor(java.util.List<java.lang.Long> cursors)
Kills the given list of cursors.
|
void |
killCursor(MongoNamespace namespace,
java.util.List<java.lang.Long> cursors)
Kills the given list of cursors.
|
void |
killCursorAsync(java.util.List<java.lang.Long> cursors,
SingleResultCallback<java.lang.Void> callback)
Asynchronously Kills the given list of cursors.
|
void |
killCursorAsync(MongoNamespace namespace,
java.util.List<java.lang.Long> cursors,
SingleResultCallback<java.lang.Void> callback)
Asynchronously Kills the given list of cursors.
|
<T> QueryResult<T> |
query(MongoNamespace namespace,
BsonDocument queryDocument,
BsonDocument fields,
int numberToReturn,
int skip,
boolean slaveOk,
boolean tailableCursor,
boolean awaitData,
boolean noCursorTimeout,
boolean partial,
boolean oplogReplay,
Decoder<T> resultDecoder)
Execute the query.
|
<T> QueryResult<T> |
query(MongoNamespace namespace,
BsonDocument queryDocument,
BsonDocument fields,
int skip,
int limit,
int batchSize,
boolean slaveOk,
boolean tailableCursor,
boolean awaitData,
boolean noCursorTimeout,
boolean partial,
boolean oplogReplay,
Decoder<T> resultDecoder)
Execute the query.
|
<T> void |
queryAsync(MongoNamespace namespace,
BsonDocument queryDocument,
BsonDocument fields,
int numberToReturn,
int skip,
boolean slaveOk,
boolean tailableCursor,
boolean awaitData,
boolean noCursorTimeout,
boolean partial,
boolean oplogReplay,
Decoder<T> resultDecoder,
SingleResultCallback<QueryResult<T>> callback)
Execute the query asynchronously.
|
<T> void |
queryAsync(MongoNamespace namespace,
BsonDocument queryDocument,
BsonDocument fields,
int skip,
int limit,
int batchSize,
boolean slaveOk,
boolean tailableCursor,
boolean awaitData,
boolean noCursorTimeout,
boolean partial,
boolean oplogReplay,
Decoder<T> resultDecoder,
SingleResultCallback<QueryResult<T>> callback)
Execute the query asynchronously.
|
void |
release()
Release a reference to this object.
|
DefaultServerConnection |
retain()
Retain an additional reference to this object.
|
WriteConcernResult |
update(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<UpdateRequest> updates)
Update the documents using the update wire protocol and apply the write concern.
|
void |
updateAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<UpdateRequest> updates,
SingleResultCallback<WriteConcernResult> callback)
Update the documents using the update wire protocol and apply the write concern asynchronously.
|
BulkWriteResult |
updateCommand(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.lang.Boolean bypassDocumentValidation,
java.util.List<UpdateRequest> updates)
Update the documents using the update command.
|
BulkWriteResult |
updateCommand(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<UpdateRequest> updates)
Update the documents using the update command.
|
void |
updateCommandAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.lang.Boolean bypassDocumentValidation,
java.util.List<UpdateRequest> updates,
SingleResultCallback<BulkWriteResult> callback)
Update the documents using the update command asynchronously.
|
void |
updateCommandAsync(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern,
java.util.List<UpdateRequest> updates,
SingleResultCallback<BulkWriteResult> callback)
Update the documents using the update command asynchronously.
|
getCountclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCountprivate static final Logger LOGGER
private final InternalConnection wrapped
private final ProtocolExecutor protocolExecutor
private final ClusterConnectionMode clusterConnectionMode
public DefaultServerConnection(InternalConnection wrapped, ProtocolExecutor protocolExecutor, ClusterConnectionMode clusterConnectionMode)
public DefaultServerConnection retain()
ReferenceCountedretain in interface ReferenceCountedretain in interface AsyncConnectionretain in interface Connectionretain in class AbstractReferenceCountedpublic void release()
ReferenceCountedrelease in interface ReferenceCountedrelease in class AbstractReferenceCountedpublic ConnectionDescription getDescription()
ConnectiongetDescription in interface AsyncConnectiongetDescription in interface Connectionpublic WriteConcernResult insert(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<InsertRequest> inserts)
Connectioninsert in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerninserts - the insertspublic void insertAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<InsertRequest> inserts, SingleResultCallback<WriteConcernResult> callback)
AsyncConnectioninsertAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerninserts - the insertscallback - the callback to be passed the write resultpublic WriteConcernResult update(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<UpdateRequest> updates)
Connectionupdate in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernupdates - the updatespublic void updateAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<UpdateRequest> updates, SingleResultCallback<WriteConcernResult> callback)
AsyncConnectionupdateAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernupdates - the updatescallback - the callback to be passed the write resultpublic WriteConcernResult delete(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<DeleteRequest> deletes)
Connectiondelete in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerndeletes - the deletespublic void deleteAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<DeleteRequest> deletes, SingleResultCallback<WriteConcernResult> callback)
AsyncConnectiondeleteAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerndeletes - the deletescallback - the callback to be passed the write resultpublic BulkWriteResult insertCommand(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<InsertRequest> inserts)
ConnectioninsertCommand in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerninserts - the insertspublic BulkWriteResult insertCommand(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.lang.Boolean bypassDocumentValidation, java.util.List<InsertRequest> inserts)
ConnectioninsertCommand in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernbypassDocumentValidation - the bypassDocumentValidation flaginserts - the insertspublic void insertCommandAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<InsertRequest> inserts, SingleResultCallback<BulkWriteResult> callback)
AsyncConnectioninsertCommandAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerninserts - the insertscallback - the callback to be passed the bulk write resultpublic void insertCommandAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.lang.Boolean bypassDocumentValidation, java.util.List<InsertRequest> inserts, SingleResultCallback<BulkWriteResult> callback)
AsyncConnectioninsertCommandAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernbypassDocumentValidation - the bypassDocumentValidation flaginserts - the insertscallback - the callback to be passed the bulk write resultpublic BulkWriteResult updateCommand(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<UpdateRequest> updates)
ConnectionupdateCommand in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernupdates - the updatespublic BulkWriteResult updateCommand(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.lang.Boolean bypassDocumentValidation, java.util.List<UpdateRequest> updates)
ConnectionupdateCommand in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernbypassDocumentValidation - the bypassDocumentValidation flagupdates - the updatespublic void updateCommandAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<UpdateRequest> updates, SingleResultCallback<BulkWriteResult> callback)
AsyncConnectionupdateCommandAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernupdates - the updatescallback - the callback to be passed the BulkWriteResultpublic void updateCommandAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.lang.Boolean bypassDocumentValidation, java.util.List<UpdateRequest> updates, SingleResultCallback<BulkWriteResult> callback)
AsyncConnectionupdateCommandAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concernbypassDocumentValidation - the bypassDocumentValidation flagupdates - the updatescallback - the callback to be passed the BulkWriteResultpublic BulkWriteResult deleteCommand(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<DeleteRequest> deletes)
ConnectiondeleteCommand in interface Connectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerndeletes - the deletespublic void deleteCommandAsync(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern, java.util.List<DeleteRequest> deletes, SingleResultCallback<BulkWriteResult> callback)
AsyncConnectiondeleteCommandAsync in interface AsyncConnectionnamespace - the namespaceordered - whether the writes are orderedwriteConcern - the write concerndeletes - the deletescallback - the callback to be passed the BulkWriteResultpublic <T> T command(java.lang.String database,
BsonDocument command,
boolean slaveOk,
FieldNameValidator fieldNameValidator,
Decoder<T> commandResultDecoder)
Connectioncommand in interface ConnectionT - the type of the resultdatabase - the database to execute the command incommand - the command documentslaveOk - whether the command can run on a secondaryfieldNameValidator - the field name validator for the command documentcommandResultDecoder - the decoder for the resultpublic <T> void commandAsync(java.lang.String database,
BsonDocument command,
boolean slaveOk,
FieldNameValidator fieldNameValidator,
Decoder<T> commandResultDecoder,
SingleResultCallback<T> callback)
AsyncConnectioncommandAsync in interface AsyncConnectionT - the type of the resultdatabase - the database to execute the command incommand - the command documentslaveOk - whether the command can run on a secondaryfieldNameValidator - the field name validator for the command documentcommandResultDecoder - the decoder for the resultcallback - the callback to be passed the command resultpublic <T> QueryResult<T> query(MongoNamespace namespace, BsonDocument queryDocument, BsonDocument fields, int numberToReturn, int skip, boolean slaveOk, boolean tailableCursor, boolean awaitData, boolean noCursorTimeout, boolean partial, boolean oplogReplay, Decoder<T> resultDecoder)
Connectionquery in interface ConnectionT - the query result document typenamespace - the namespace to queryqueryDocument - the query documentfields - the field to include or excludenumberToReturn - the number of documents to returnskip - the number of documents to skipslaveOk - whether the query can run on a secondarytailableCursor - whether to return a tailable cursorawaitData - whether a tailable cursor should wait before returning if no documents are availablenoCursorTimeout - whether the cursor should not timeoutpartial - whether partial results from sharded clusters are acceptableoplogReplay - whether to replay the oplogresultDecoder - the decoder for the query result documentspublic <T> QueryResult<T> query(MongoNamespace namespace, BsonDocument queryDocument, BsonDocument fields, int skip, int limit, int batchSize, boolean slaveOk, boolean tailableCursor, boolean awaitData, boolean noCursorTimeout, boolean partial, boolean oplogReplay, Decoder<T> resultDecoder)
Connectionquery in interface ConnectionT - the query result document typenamespace - the namespace to queryqueryDocument - the query documentfields - the field to include or excludeskip - the number of documents to skiplimit - the maximum number of documents to return in all batchesbatchSize - the maximum number of documents to return in this batchslaveOk - whether the query can run on a secondarytailableCursor - whether to return a tailable cursorawaitData - whether a tailable cursor should wait before returning if no documents are availablenoCursorTimeout - whether the cursor should not timeoutpartial - whether partial results from sharded clusters are acceptableoplogReplay - whether to replay the oplogresultDecoder - the decoder for the query result documentspublic <T> void queryAsync(MongoNamespace namespace, BsonDocument queryDocument, BsonDocument fields, int numberToReturn, int skip, boolean slaveOk, boolean tailableCursor, boolean awaitData, boolean noCursorTimeout, boolean partial, boolean oplogReplay, Decoder<T> resultDecoder, SingleResultCallback<QueryResult<T>> callback)
AsyncConnectionqueryAsync in interface AsyncConnectionT - the query result document typenamespace - the namespace to queryqueryDocument - the query documentfields - the field to include or excludenumberToReturn - the number of documents to returnskip - the number of documents to skipslaveOk - whether the query can run on a secondarytailableCursor - whether to return a tailable cursorawaitData - whether a tailable cursor should wait before returning if no documents are availablenoCursorTimeout - whether the cursor should not timeoutpartial - whether partial results from sharded clusters are acceptableoplogReplay - whether to replay the oplogresultDecoder - the decoder for the query result documentscallback - the callback to be passed the write resultpublic <T> void queryAsync(MongoNamespace namespace, BsonDocument queryDocument, BsonDocument fields, int skip, int limit, int batchSize, boolean slaveOk, boolean tailableCursor, boolean awaitData, boolean noCursorTimeout, boolean partial, boolean oplogReplay, Decoder<T> resultDecoder, SingleResultCallback<QueryResult<T>> callback)
AsyncConnectionqueryAsync in interface AsyncConnectionT - the query result document typenamespace - the namespace to queryqueryDocument - the query documentfields - the field to include or excludeskip - the number of documents to skiplimit - the maximum number of documents to return in all batchesbatchSize - the maximum number of documents to return in this batchslaveOk - whether the query can run on a secondarytailableCursor - whether to return a tailable cursorawaitData - whether a tailable cursor should wait before returning if no documents are availablenoCursorTimeout - whether the cursor should not timeoutpartial - whether partial results from sharded clusters are acceptableoplogReplay - whether to replay the oplogresultDecoder - the decoder for the query result documentscallback - the callback to be passed the write resultpublic <T> QueryResult<T> getMore(MongoNamespace namespace, long cursorId, int numberToReturn, Decoder<T> resultDecoder)
ConnectiongetMore in interface ConnectionT - the type of the query result documentsnamespace - the namespace to get more documents fromcursorId - the cursor idnumberToReturn - the number of documents to returnresultDecoder - the decoder for the query resultspublic <T> void getMoreAsync(MongoNamespace namespace, long cursorId, int numberToReturn, Decoder<T> resultDecoder, SingleResultCallback<QueryResult<T>> callback)
AsyncConnectiongetMoreAsync in interface AsyncConnectionT - the type of the query result documentsnamespace - the namespace to get more documents fromcursorId - the cursor idnumberToReturn - the number of documents to returnresultDecoder - the decoder for the query result documentscallback - the callback to be passed the query resultpublic void killCursor(java.util.List<java.lang.Long> cursors)
ConnectionkillCursor in interface Connectioncursors - the cursorspublic void killCursor(MongoNamespace namespace, java.util.List<java.lang.Long> cursors)
ConnectionkillCursor in interface Connectionnamespace - the namespace to in which the cursors livecursors - the cursorspublic void killCursorAsync(java.util.List<java.lang.Long> cursors,
SingleResultCallback<java.lang.Void> callback)
AsyncConnectionkillCursorAsync in interface AsyncConnectioncursors - the cursorscallback - the callback that is called once the cursors have been killedpublic void killCursorAsync(MongoNamespace namespace, java.util.List<java.lang.Long> cursors, SingleResultCallback<java.lang.Void> callback)
AsyncConnectionkillCursorAsync in interface AsyncConnectionnamespace - the namespace in which the cursors livecursors - the cursorscallback - the callback that is called once the cursors have been killedprivate boolean getSlaveOk(boolean slaveOk)
private <T> T executeProtocol(Protocol<T> protocol)
private <T> void executeProtocolAsync(Protocol<T> protocol, SingleResultCallback<T> callback)