| org.apache.ojb.odmg.TransactionAware
All known Subclasses: org.apache.ojb.odmg.shared.Article, org.apache.ojb.odmg.shared.ProductGroup,
TransactionAware | public interface TransactionAware extends Serializable(Code) | | 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.
version: $Id: TransactionAware.java,v 1.6.2.1 2005/12/21 22:29:21 tomdz Exp $ |
Method Summary | |
public void | afterAbort() afterAbort will be called after a transaction has been aborted.
The values of fields which get persisted will have changed to
what they were at the begining of the transaction. | public void | afterCommit() afterCommit is called only after a successful commit has taken
place. | public void | beforeAbort() beforeAbort is called before a transaction is aborted. | public void | beforeCommit() beforeCommit will give an object a chance to kill a
transaction before it is committed. |
serialVersionUID | final static long serialVersionUID(Code) | | |
afterAbort | public void afterAbort()(Code) | | afterAbort will be called after a transaction has been aborted.
The values of fields which get persisted will have changed to
what they were at the begining of the transaction. This method
should be overridden to reset any transient or non-persistent
fields.
|
afterCommit | public void afterCommit()(Code) | | afterCommit is called only after a successful commit has taken
place.
|
beforeAbort | public void beforeAbort()(Code) | | beforeAbort is called before a transaction is aborted.
|
beforeCommit | public void beforeCommit() throws org.odmg.TransactionAbortedException(Code) | | beforeCommit will give an object a chance to kill a
transaction before it is committed.
To kill a transaction, throw a new TransactionAbortedException.
|
|
|