Interface ClientSession
-
- All Superinterfaces:
AutoCloseable
,ClientSession
,Closeable
public interface ClientSession extends ClientSession
A client session that supports transactions.- Since:
- 1.9
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Publisher<Void>
abortTransaction()
Abort a transaction in the context of this session.Publisher<Void>
commitTransaction()
Commit a transaction in the context of this session.TransactionOptions
getTransactionOptions()
Gets the transaction options.com.mongodb.internal.async.client.AsyncClientSession
getWrapped()
For internal use only.boolean
hasActiveTransaction()
Returns true if there is an active transaction on this session, and false otherwiseboolean
notifyMessageSent()
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
startTransaction()
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 Detail
-
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
void notifyOperationInitiated(Object operation)
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
void startTransaction(TransactionOptions transactionOptions)
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
Publisher<Void> 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
-
-