| Interface | Description |
|---|---|
| BackoffPolicy |
A policy to be used when
Txn or an atomic operation can't make any progress, e.g. |
| OrElseBlock |
The OrElse is responsible for executing the either block, or in case of a retry, the orelse block is executed.
|
| Stm |
The main interface for software transactional memory.
|
| Txn |
The unit of work for
Stm. |
| TxnConfig |
Contains the transaction configuration used by a
Txn. |
| TxnExecutor |
An TxnExecutor is responsible for executing an atomic callable.
|
| TxnFactory |
A Factory responsible for creating a
Txn. |
| TxnFactoryBuilder |
A Builder for creating a
TxnFactory and TxnExecutor. |
| TxnLock |
The TxnLock provides access to pessimistic behavior of a
TxnObject. |
| TxnObject |
The interface each transactional object needs to implement.
|
| Class | Description |
|---|---|
| DefaultBackoffPolicy |
A
BackoffPolicy that does an 'exponential' backoff. |
| GlobalStmInstance |
A singleton that can be used for easy access to the
Stm that is used globally. |
| StmUtils | |
| TxnThreadLocal |
A
ThreadLocal that contains the current Txn. |
| TxnThreadLocal.Container |
| Enum | Description |
|---|---|
| IsolationLevel |
With the IsolationLevel you have a way to provide declarative control to guarantee isolation between transactions.
|
| LockMode |
Using the LockMode one can control the pessimistic nature of a
Txn. |
| PropagationLevel |
With the PropagationLevel you have control on how the
TxnExecutor reacts on the existence or the non existence
of a Txn. |
| TraceLevel |
Using the TraceLevel you get some feedback on what is happening inside a transaction.
|
| TxnStatus |
An enumeration of all possible states a
Txn can have. |