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
 
 
 - 
 
 -