|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
TransactionAware is an interface that can be implemented to provide hooks into the Transaction interface provided by ObJectRelationalBridge. Only objects which have a write lock acquired on them can participate in a transaction. To kill a transaction, implement beforeCommit() and throw a TransactionAbortedException. This will force the entire transaction to rollback. To rebuild an object after a rollback use the afterAbort() call. This is a good place to populate transient or other variables. beforeAbort and afterCommit are there for informational purposes. Here are some common ways you can expect this interface to be called: Sucessful commit: beforeCommit() afterCommit() Transaction Failure (1): beforeCommit() beforeAbort() afterAbort() Transaction Failure (2): beforeAbort() afterAbort() Commits and Aborts aren't directly provided to TransactionAware classes. The idea is that Transactions are difficult to handle, and most of it will be handled by ObjectSnapshot. However, you use TransactionAware to do one of two things, kill a transaction from happening, and clean up after a rollback.
Method Summary | |
void |
afterAbort()
afterAbort will be called after a transaction has been aborted. |
void |
afterCommit()
afterCommit is called only after a successful commit has taken place. |
void |
beforeAbort()
beforeAbort is called before a transaction is aborted. |
void |
beforeCommit()
beforeCommit will give an object a chance to kill a transaction before it is committed. |
Method Detail |
public void beforeCommit() throws TransactionAbortedException
TransactionAbortedException
public void afterCommit()
public void beforeAbort()
public void afterAbort()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |