Interface ClientSession

All Superinterfaces:
AutoCloseable, com.mongodb.session.ClientSession, Closeable

public interface ClientSession extends com.mongodb.session.ClientSession
A client session that supports transactions.
Since:
1.9
  • Method Summary

    Modifier and Type
    Method
    Description
    Abort a transaction in the context of this session.
    Commit a transaction in the context of this session.
    com.mongodb.TransactionOptions
    Gets the transaction options.
    boolean
    Returns true if there is an active transaction on this session, and false otherwise
    boolean
    Notify the client session that a message has been sent.
    void
    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(com.mongodb.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, getTimeoutContext, 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

      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

      com.mongodb.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(com.mongodb.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