|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.transaction.AbstractTransactionalResourceManager<T>
public abstract class AbstractTransactionalResourceManager<T extends AbstractTransactionalResourceManager.AbstractTxContext>
Abstract base class for transactional resource managers.
This implementation takes care of most administrative tasks a transactional
resource manager has to perform. Sublcass
AbstractTransactionalResourceManager.AbstractTxContext to hold all
information necessary for each transaction. Additionally, you have to
implement createContext() to create an object of that type, and
commitCanFail().
This implementation is thread-safe.
| Nested Class Summary | |
|---|---|
class |
AbstractTransactionalResourceManager.AbstractTxContext
|
| Field Summary | |
|---|---|
protected ThreadLocal<T> |
activeTx
|
| Constructor Summary | |
|---|---|
AbstractTransactionalResourceManager(String name)
|
|
AbstractTransactionalResourceManager(String name,
LockManager<Object,Object> lm)
|
|
| Method Summary | |
|---|---|
abstract boolean |
commitCanFail()
Checks whether a tried commit could possibly fail because of logical reasons. |
boolean |
commitTransaction()
Commits all changes made in the current transaction and deletes the association between the current thread and the transaction. |
protected abstract T |
createContext()
|
void |
forgetTransaction()
Instructs the resource manager to forget about the current transaction. |
protected T |
getActiveTx()
|
protected T |
getCheckedActiveTx()
|
protected LockManager<Object,Object> |
getLm()
|
String |
getName()
|
boolean |
isPartofComplexTransaction()
|
boolean |
isReadOnly()
Checks if there had been any write operations on this resource manager since the start of the transaction. |
boolean |
isRollbackOnly()
Checks whether this resource manager allows a rollback as the only valid outcome. |
void |
joinTransaction(LockManager<Object,Object> lm)
Lets this resource manager join a transaction that is protected by a common lock manager. |
boolean |
prepareTransaction()
Checks whether this resource manager is willing and able to commit its part of the complex transaction. |
void |
rollbackTransaction()
Discards all changes made in the current transaction and deletes the association between the current thread and the transaction. |
protected void |
setActiveTx(T txContext)
|
void |
setLm(LockManager<Object,Object> lm)
|
void |
setName(String name)
|
void |
startTransaction(long timeout,
TimeUnit unit)
Starts a new transaction and associates it with the current thread. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected ThreadLocal<T extends AbstractTransactionalResourceManager.AbstractTxContext> activeTx
| Constructor Detail |
|---|
public AbstractTransactionalResourceManager(String name)
public AbstractTransactionalResourceManager(String name,
LockManager<Object,Object> lm)
| Method Detail |
|---|
protected abstract T createContext()
public boolean isRollbackOnly()
ManageableResourceManager
isRollbackOnly in interface ManageableResourceManagertrue if this resource manager can only roll back
public void startTransaction(long timeout,
TimeUnit unit)
TransactionalResourceManagerTransactionalResourceManager.commitTransaction() is called. Use
TransactionalResourceManager.rollbackTransaction() to discard your changes. After calling
either method there will be no transaction associated to the current
thread any longer.
startTransaction in interface TransactionalResourceManagerTransactionalResourceManager.commitTransaction(),
TransactionalResourceManager.rollbackTransaction()public void rollbackTransaction()
TransactionalResourceManager
rollbackTransaction in interface TransactionalResourceManagerTransactionalResourceManager.startTransaction(long, TimeUnit),
TransactionalResourceManager.commitTransaction()public void forgetTransaction()
ManageableResourceManager
forgetTransaction in interface ManageableResourceManagerpublic boolean commitTransaction()
TransactionalResourceManager
commitTransaction in interface TransactionalResourceManagerTransactionalResourceManager.startTransaction(long, TimeUnit),
TransactionalResourceManager.rollbackTransaction()protected T getActiveTx()
protected T getCheckedActiveTx()
protected void setActiveTx(T txContext)
public boolean isReadOnly()
ManageableResourceManagerTransactionalResourceManager.commitTransaction() or
TransactionalResourceManager.rollbackTransaction(), but only
ManageableResourceManager.forgetTransaction().
isReadOnly in interface ManageableResourceManagertrue if there had been read operations onlyprotected LockManager<Object,Object> getLm()
public void setLm(LockManager<Object,Object> lm)
public String getName()
public void setName(String name)
public abstract boolean commitCanFail()
ManageableResourceManager
commitCanFail in interface ManageableResourceManagertrue if a commit could failpublic void joinTransaction(LockManager<Object,Object> lm)
ManageableResourceManager
joinTransaction in interface ManageableResourceManagerlm - the common lock maangerpublic boolean prepareTransaction()
ManageableResourceManager
prepareTransaction in interface ManageableResourceManagertrue if this resource manager can commit its part
of the transactionpublic boolean isPartofComplexTransaction()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||