Interface ClientSession

  • All Superinterfaces:
    java.lang.AutoCloseable, com.mongodb.session.ClientSession, java.io.Closeable

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.reactivestreams.Publisher<java.lang.Void> abortTransaction()
      Abort a transaction in the context of this session.
      org.reactivestreams.Publisher<java.lang.Void> commitTransaction()
      Commit a transaction in the context of this session.
      com.mongodb.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 otherwise
      boolean notifyMessageSent()
      Notify the client session that a message has been sent.
      void startTransaction()
      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, close, getClusterTime, getOperationTime, getOptions, getOriginator, getPinnedServerAddress, getRecoveryToken, getServerSession, isCausallyConsistent, setPinnedServerAddress, setRecoveryToken
    • 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
      • getTransactionOptions

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

        org.reactivestreams.Publisher<java.lang.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

        org.reactivestreams.Publisher<java.lang.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