Interface ClientSession
- All Superinterfaces:
AutoCloseable
,ClientSession
,Closeable
A client session that supports transactions.
- Since:
- 1.9
-
Method Summary
Modifier and TypeMethodDescriptionAbort a transaction in the context of this session.Commit a transaction in the context of this session.Gets the transaction options.com.mongodb.internal.async.client.AsyncClientSession
For internal use only.boolean
Returns true if there is an active transaction on this session, and false otherwiseboolean
Notify the client session that a message has been sent.void
notifyOperationInitiated
(Object operation) Notify the client session that command execution is being initiated.void
Start a transaction in the context of this session with default transaction options.void
startTransaction
(TransactionOptions transactionOptions) Start a transaction in the context of this session with the given transaction options.Methods inherited from interface com.mongodb.session.ClientSession
advanceClusterTime, advanceOperationTime, clearTransactionContext, close, getClusterTime, getOperationTime, getOptions, getOriginator, getPinnedServerAddress, getRecoveryToken, getServerSession, getSnapshotTimestamp, getTransactionContext, isCausallyConsistent, setRecoveryToken, setSnapshotTimestamp, setTransactionContext
-
Method Details
-
hasActiveTransaction
boolean hasActiveTransaction()Returns true if there is an active transaction on this session, and false otherwise- Returns:
- true if there is an active transaction on this session
- Since server release
- 4.0
-
notifyMessageSent
boolean notifyMessageSent()Notify the client session that a message has been sent.For internal use only
- Returns:
- true if this is the first message sent, false otherwise
- Since:
- 4.0
-
notifyOperationInitiated
Notify the client session that command execution is being initiated. This should be called before server selection occurs.For internal use only
- Parameters:
operation
- the operation
-
getTransactionOptions
TransactionOptions getTransactionOptions()Gets the transaction options. Only call this method of the session has an active transaction- Returns:
- the transaction options
-
getWrapped
com.mongodb.internal.async.client.AsyncClientSession getWrapped()For internal use only.- Returns:
- the wrapped session
-
startTransaction
void startTransaction()Start a transaction in the context of this session with default transaction options. A transaction can not be started if there is already an active transaction on this session.- Since server release
- 4.0
-
startTransaction
Start a transaction in the context of this session with the given transaction options. A transaction can not be started if there is already an active transaction on this session.- Parameters:
transactionOptions
- the options to apply to the transaction- Since server release
- 4.0
-
commitTransaction
Commit a transaction in the context of this session. A transaction can only be commmited if one has first been started.- Returns:
- an empty publisher that indicates when the operation has completed
- Since server release
- 4.0
-
abortTransaction
Abort a transaction in the context of this session. A transaction can only be aborted if one has first been started.- Returns:
- an empty publisher that indicates when the operation has completed
- Since server release
- 4.0
-