public class InMemoryTransactionManager extends AbstractTransactionManager
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.locks.ReadWriteLock |
btreeHeadersLock
A lock to protect the BtreeHeader maps
|
private static java.lang.ThreadLocal<java.lang.Integer> |
context
A ThreadLocalStorage used to store the current transaction
|
private java.util.Map<java.lang.String,BTreeHeader<?,?>> |
currentBTreeHeaders
A Map keeping the latest revisions for each managed BTree
|
private java.util.Map<java.lang.String,BTreeHeader<?,?>> |
newBTreeHeaders
A Map storing the new revisions when some change have been made in some BTrees
|
private java.util.concurrent.locks.Lock |
transactionLock
A lock to protect the transaction handling
|
| Constructor and Description |
|---|
InMemoryTransactionManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
beginTransaction()
Starts a transaction
|
void |
commit()
Commits a transaction
|
BTreeHeader |
getBTreeHeader(java.lang.String name)
Get the current BTreeHeader for a given Btree.
|
void |
rollback()
Rollback a transaction
|
void |
updateNewBTreeHeaders(BTreeHeader btreeHeader)
Updates the map of new BTreeHeaders
|
private java.util.concurrent.locks.Lock transactionLock
private static final java.lang.ThreadLocal<java.lang.Integer> context
private java.util.Map<java.lang.String,BTreeHeader<?,?>> currentBTreeHeaders
private java.util.Map<java.lang.String,BTreeHeader<?,?>> newBTreeHeaders
private java.util.concurrent.locks.ReadWriteLock btreeHeadersLock
public void beginTransaction()
public void commit()
public void rollback()
public BTreeHeader getBTreeHeader(java.lang.String name)
name - The Btree name we are looking the BtreeHeader forpublic void updateNewBTreeHeaders(BTreeHeader btreeHeader)
btreeHeader - The new BtreeHeader