Interface Transaction

  • All Superinterfaces:
    AutoCloseable

    public interface Transaction
    extends AutoCloseable
    A set of methods that allow for control of transactional behavior of a Graph instance. Providers may consider using AbstractTransaction as a base implementation that provides default features for most of these methods.
    Author:
    Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com), TinkerPop Community (http://tinkerpop.apache.org)
    • Method Detail

      • open

        void open()
        Opens a transaction.
      • commit

        void commit()
        Commits a transaction. This method may optionally throw TransactionException on error. Providers should consider wrapping their transaction exceptions in this TinkerPop exception as it will lead to better error handling with Gremlin Server and other parts of the stack.
      • rollback

        void rollback()
        Rolls back a transaction. This method may optionally throw TransactionException on error. Providers should consider wrapping their transaction exceptions in this TinkerPop exception as it will lead to better error handling with Gremlin Server and other parts of the stack.
      • createThreadedTx

        default <G extends Graph> G createThreadedTx()
        Creates a transaction that can be executed across multiple threads. The Graph returned from this method is not meant to represent some form of child transaction that can be committed from this object. A threaded transaction is a Graph instance that has a transaction context that enables multiple threads to collaborate on the same transaction. A standard transactional context tied to a Graph that supports transactions will typically bind a transaction to a single thread via ThreadLocal.
      • begin

        default <T extends TraversalSource> T begin()
        Starts a transaction in the context of a GraphTraversalSource instance. It is up to the Transaction implementation to decide what this means and up to users to be aware of that meaning.
      • begin

        <T extends TraversalSource> T begin​(Class<T> traversalSourceClass)
        Starts a transaction in the context of a particular TraversalSource instance. It is up to the Transaction implementation to decide what this means and up to users to be aware of that meaning.
      • isOpen

        boolean isOpen()
        Determines if a transaction is currently open.
      • readWrite

        void readWrite()
        An internal function that signals a read or a write has occurred - not meant to be called directly by end users.
      • close

        void close()
        Closes the transaction where the default close behavior defined by {onClose(Consumer)} will be executed.
        Specified by:
        close in interface AutoCloseable
      • addTransactionListener

        void addTransactionListener​(Consumer<Transaction.Status> listener)
        Adds a listener that is called back with a status when a commit or rollback is successful. It is expected that listeners be bound to the current thread as is standard for transactions. Therefore a listener registered in the current thread will not get callback events from a commit or rollback call in a different thread.
      • removeTransactionListener

        void removeTransactionListener​(Consumer<Transaction.Status> listener)
        Removes a transaction listener.
      • clearTransactionListeners

        void clearTransactionListeners()
        Removes all transaction listeners.