Interface ClientSession

All Superinterfaces:
AutoCloseable, ClientSession, Closeable

public interface ClientSession extends ClientSession
A client session that supports transactions.
Since:
1.9
  • 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

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

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