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:
    3.8
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void abortTransaction​()
      Abort a transaction in the context of this session.
      void commitTransaction​()
      Commit a transaction in the context of this session.
      com.mongodb.ServerAddress getPinnedServerAddress​()
      Returns the server address of the pinned mongos on this session.
      com.mongodb.TransactionOptions getTransactionOptions​()
      Gets the transaction options.
      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 setPinnedServerAddress​(com.mongodb.ServerAddress address)
      Pin the server address of the mongos on this session.
      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.
      <T> T withTransaction​(TransactionBody<T> transactionBody)
      Execute the given function within a transaction.
      <T> T withTransaction​(com.mongodb.TransactionOptions options, TransactionBody<T> transactionBody)
      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
        com.mongodb.ServerAddress getPinnedServerAddress​()
        Returns the server address of the pinned mongos on this session.
        Specified by:
        getPinnedServerAddress in interface com.mongodb.session.ClientSession
        Returns:
        the server address of the pinned mongos.
        Since:
        3.11
        Since server release
        4.2
      • setPinnedServerAddress

        void setPinnedServerAddress​(@Nullable
                                    com.mongodb.ServerAddress address)
        Pin the server address of the mongos on this session.
        Specified by:
        setPinnedServerAddress in interface com.mongodb.session.ClientSession
        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

        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

        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​(com.mongodb.TransactionOptions options,
                              TransactionBody<T> transactionBody)
        Execute the given function within a transaction.
        Type Parameters:
        T - the return type of the transaction body
        Parameters:
        options - the transaction options
        transactionBody - the body of the transaction
        Returns:
        the return value of the transaction body
        Since:
        3.11
        Since server release
        4.0