Interface Transaction
- All Superinterfaces:
AutoCloseable
- All Known Subinterfaces:
RemoteTransaction
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)
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumBehaviors to supply to theonClose(Consumer).static classstatic enumBehaviors to supply to theonReadWrite(Consumer).static enumA status provided to transaction listeners to inform whether a transaction was successfully committed or rolled back.static final class -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTransactionListener(Consumer<Transaction.Status> listener) Adds a listener that is called back with a status when a commit or rollback is successful.default <T extends TraversalSource>
Tbegin()Starts a transaction in the context of aGraphTraversalSourceinstance and returns that transaction-bound source.<T extends TraversalSource>
TStarts a transaction in the context of a particularTraversalSourceinstance and returns aTraversalSourcebound to it.voidRemoves all transaction listeners.voidclose()Closes the transaction where the default close behavior defined by {onClose(Consumer)} will be executed.voidcommit()Commits a transaction.default <G extends Graph>
GCreates a transaction that can be executed across multiple threads.booleanisOpen()Determines if a transaction is currently open.onClose(Consumer<Transaction> consumer) Describes what happens to a transaction on a call toGraph.close().onReadWrite(Consumer<Transaction> consumer) Describes how a transaction is started when a read or a write occurs.voidAn internal function that signals a read or a write has occurred - not meant to be called directly by end users.voidremoveTransactionListener(Consumer<Transaction.Status> listener) Removes a transaction listener.voidrollback()Rolls back a transaction.
-
Field Details
-
NO_OP
-
-
Method Details
-
commit
void commit()Commits a transaction. This method may optionally throwTransactionExceptionon 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 throwTransactionExceptionon 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
Creates a transaction that can be executed across multiple threads. TheGraphreturned from this method is not meant to represent some form of child transaction that can be committed from this object. A threaded transaction is aGraphinstance that has a transaction context that enables multiple threads to collaborate on the same transaction. A standard transactional context tied to aGraphthat supports transactions will typically bind a transaction to a single thread viaThreadLocal. -
begin
Starts a transaction in the context of aGraphTraversalSourceinstance and returns that transaction-bound source. Seebegin(Class)for the full contract. -
begin
Starts a transaction in the context of a particularTraversalSourceinstance and returns aTraversalSourcebound to it. If a transaction is not already open for thisTransaction, one is started; if a transaction is already open, this method is idempotent - it does not start a new transaction and does not throw, returning a source bound to the open transaction. The identity of the returned source across calls is unspecified and must not be relied upon. How the returnedTraversalSourceis bound to the transaction's context is up to the implementation 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:
closein interfaceAutoCloseable
-
onReadWrite
Describes how a transaction is started when a read or a write occurs. This value can be set using standard behaviors defined inTransaction.READ_WRITE_BEHAVIORor a mapperConsumerfunction. -
onClose
Describes what happens to a transaction on a call toGraph.close(). This value can be set using standard behavior defined inTransaction.CLOSE_BEHAVIORor a mapperConsumerfunction. -
addTransactionListener
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
Removes a transaction listener. -
clearTransactionListeners
void clearTransactionListeners()Removes all transaction listeners.
-