Interface ClientSession

    • Method Detail

      • setPinnedServerAddress

        void setPinnedServerAddress​(@Nullable
                                    ServerAddress address)
        Pin the server address of the mongos on this session.
        Specified by:
        setPinnedServerAddress 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​(TransactionBody<T> transactionBody,
                              TransactionOptions options)
        Execute the given function within a transaction.
        Type Parameters:
        T - the return type of the transaction body
        Parameters:
        transactionBody - the body of the transaction
        options - the transaction options
        Returns:
        the return value of the transaction body
        Since:
        3.11
        Since server release
        4.0