Interface ClientSession

    • Method Detail

      • setPinnedMongosAddress

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

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