Class AbstractThreadLocalTransaction
- java.lang.Object
- 
- org.apache.tinkerpop.gremlin.structure.util.AbstractTransaction
- 
- org.apache.tinkerpop.gremlin.structure.util.AbstractThreadLocalTransaction
 
 
- 
- All Implemented Interfaces:
- AutoCloseable,- Transaction
 
 public abstract class AbstractThreadLocalTransaction extends AbstractTransaction A base implementation ofTransactionthat provides core functionality for transaction listeners usingThreadLocal. In this implementation, the listeners are bound to the current thread of execution (usually the same as the transaction for most graph database implementations). Therefore, whenAbstractTransaction.commit()is called on a particular thread, the only listeners that get notified are those bound to that thread.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
- See Also:
- AbstractThreadedTransaction
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.TransactionTransaction.CLOSE_BEHAVIOR, Transaction.Exceptions, Transaction.READ_WRITE_BEHAVIOR, Transaction.Status, Transaction.Symbols
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected ThreadLocal<Consumer<Transaction>>closeConsumerInternalprotected ThreadLocal<Consumer<Transaction>>readWriteConsumerInternalprotected ThreadLocal<List<Consumer<Transaction.Status>>>transactionListeners- 
Fields inherited from interface org.apache.tinkerpop.gremlin.structure.TransactionNO_OP
 
- 
 - 
Constructor SummaryConstructors Constructor Description AbstractThreadLocalTransaction(Graph g)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTransactionListener(Consumer<Transaction.Status> listener)Adds a listener that is called back with a status when a commit or rollback is successful.voidclearTransactionListeners()Removes all transaction listeners.protected voiddoClose()CalledAbstractTransaction.close().protected voiddoReadWrite()CalledAbstractTransaction.readWrite().protected voidfireOnCommit()Called withinAbstractTransaction.commit()just after the internal call toAbstractTransaction.doCommit().protected voidfireOnRollback()Called withinAbstractTransaction.rollback()just after the internal call toAbstractTransaction.doRollback()()}.TransactiononClose(Consumer<Transaction> consumer)Describes what happens to a transaction on a call toGraph.close().TransactiononReadWrite(Consumer<Transaction> consumer)Describes how a transaction is started when a read or a write occurs.voidremoveTransactionListener(Consumer<Transaction.Status> listener)Removes a transaction listener.- 
Methods inherited from class org.apache.tinkerpop.gremlin.structure.util.AbstractTransactionbegin, close, commit, createThreadedTx, doCommit, doOpen, doRollback, open, readWrite, rollback
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.apache.tinkerpop.gremlin.structure.Transactionbegin, isOpen
 
- 
 
- 
- 
- 
Field Detail- 
readWriteConsumerInternalprotected final ThreadLocal<Consumer<Transaction>> readWriteConsumerInternal 
 - 
closeConsumerInternalprotected final ThreadLocal<Consumer<Transaction>> closeConsumerInternal 
 - 
transactionListenersprotected final ThreadLocal<List<Consumer<Transaction.Status>>> transactionListeners 
 
- 
 - 
Constructor Detail- 
AbstractThreadLocalTransactionpublic AbstractThreadLocalTransaction(Graph g) 
 
- 
 - 
Method Detail- 
fireOnCommitprotected void fireOnCommit() Description copied from class:AbstractTransactionCalled withinAbstractTransaction.commit()just after the internal call toAbstractTransaction.doCommit(). Implementations of this method should raiseTransaction.Status.COMMITevents to any listeners added viaTransaction.addTransactionListener(Consumer).- Specified by:
- fireOnCommitin class- AbstractTransaction
 
 - 
fireOnRollbackprotected void fireOnRollback() Description copied from class:AbstractTransactionCalled withinAbstractTransaction.rollback()just after the internal call toAbstractTransaction.doRollback()()}. Implementations of this method should raiseTransaction.Status.ROLLBACKevents to any listeners added viaTransaction.addTransactionListener(Consumer).- Specified by:
- fireOnRollbackin class- AbstractTransaction
 
 - 
addTransactionListenerpublic void addTransactionListener(Consumer<Transaction.Status> listener) Description copied from interface:TransactionAdds 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.
 - 
removeTransactionListenerpublic void removeTransactionListener(Consumer<Transaction.Status> listener) Description copied from interface:TransactionRemoves a transaction listener.
 - 
clearTransactionListenerspublic void clearTransactionListeners() Description copied from interface:TransactionRemoves all transaction listeners.
 - 
doReadWriteprotected void doReadWrite() Description copied from class:AbstractTransactionCalledAbstractTransaction.readWrite(). Implementers should run their readWrite consumer here.- Specified by:
- doReadWritein class- AbstractTransaction
 
 - 
doCloseprotected void doClose() Description copied from class:AbstractTransactionCalledAbstractTransaction.close(). Implementers should run their readWrite consumer here.- Specified by:
- doClosein class- AbstractTransaction
 
 - 
onReadWritepublic Transaction onReadWrite(Consumer<Transaction> consumer) Description copied from interface:TransactionDescribes 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.
 - 
onClosepublic Transaction onClose(Consumer<Transaction> consumer) Description copied from interface:TransactionDescribes what happens to a transaction on a call toGraph.close(). This value can be set using standard behavior defined inTransaction.CLOSE_BEHAVIORor a mapperConsumerfunction.
 
- 
 
-