Package com.mongodb.client
Interface ClientSession
-
- All Superinterfaces:
AutoCloseable,ClientSession,Closeable
public interface ClientSession extends ClientSession
A client session that supports transactions.- Since:
- 3.8
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidabortTransaction()Abort a transaction in the context of this session.voidcommitTransaction()Commit a transaction in the context of this session.ServerAddressgetPinnedServerAddress()Returns the server address of the pinned mongos on this session.TransactionOptionsgetTransactionOptions()Gets the transaction options.booleanhasActiveTransaction()Returns true if there is an active transaction on this session, and false otherwisebooleannotifyMessageSent()Notify the client session that a message has been sent.voidsetPinnedServerAddress(ServerAddress address)Pin the server address of the mongos on this session.voidstartTransaction()Start a transaction in the context of this session with default transaction options.voidstartTransaction(TransactionOptions transactionOptions)Start a transaction in the context of this session with the given transaction options.<T> TwithTransaction(TransactionBody<T> transactionBody)Execute the given function within a transaction.<T> TwithTransaction(TransactionBody<T> transactionBody, TransactionOptions options)Execute the given function within a transaction.-
Methods inherited from interface com.mongodb.session.ClientSession
advanceClusterTime, advanceOperationTime, close, getClusterTime, getOperationTime, getOptions, getOriginator, getRecoveryToken, getServerSession, isCausallyConsistent, setRecoveryToken
-
-
-
-
Method Detail
-
getPinnedServerAddress
@Nullable ServerAddress getPinnedServerAddress()
Returns the server address of the pinned mongos on this session.- Specified by:
getPinnedServerAddressin interfaceClientSession- Returns:
- the server address of the pinned mongos.
- Since:
- 3.11
- Since server release
- 4.2
-
setPinnedServerAddress
void setPinnedServerAddress(@Nullable ServerAddress address)
Pin the server address of the mongos on this session.- Specified by:
setPinnedServerAddressin interfaceClientSession- Parameters:
address- the server address to pin to this session- Since:
- 3.11
- Since server release
- 4.2
-
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
-
getTransactionOptions
TransactionOptions getTransactionOptions()
Gets the transaction options. Only call this method of the session has an active transaction- Returns:
- the transaction options
-
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
void commitTransaction()
Commit a transaction in the context of this session. A transaction can only be commmited if one has first been started.- Since server release
- 4.0
-
abortTransaction
void abortTransaction()
Abort a transaction in the context of this session. A transaction can only be aborted if one has first been started.- Since server release
- 4.0
-
withTransaction
<T> T withTransaction(TransactionBody<T> transactionBody)
Execute the given function within a transaction.- Type Parameters:
T- the return type of the transaction body- Parameters:
transactionBody- the body of the transaction- Returns:
- the return value of the transaction body
- Since:
- 3.11
- Since server release
- 4.0
-
withTransaction
<T> T withTransaction(TransactionBody<T> transactionBody, TransactionOptions options)
Execute the given function within a transaction.- Type Parameters:
T- the return type of the transaction body- Parameters:
transactionBody- the body of the transactionoptions- the transaction options- Returns:
- the return value of the transaction body
- Since:
- 3.11
- Since server release
- 4.0
-
-