Transient-Transactional Instances
You can cause transient instances to observe transaction
boundaries, such that their state is preserved at commit and restored on
rollback. A transient instance that observes transaction boundaries is
called a transient-transactional instance
. Support for transient-transactional instances is
optional; their use requires support of the optional TransientTransactional feature. If your implementation does not support TransientTransactional, it will not include
the functionality that causes the state transitions associated with
transient-transactional instances.
You can use the following PersistenceManager methods to make transient
instances transactional:
void makeTransactional(Object obj); void makeTransactionalAll(Object[] objs); void makeTransactionalAll(Collection objs);
After these methods complete, the instances observe transaction
boundaries. If the transaction commits, the transient-transactional
instances retain their values. The makeTransactional( ) method throws a JDOUnsupportedOptionException if you pass a transient instance as a parameter and the
implementation does not support the optional TransientTransactional feature.
If the call to makeTransactional(
) is made within the current transaction and the transaction
is rolled back, the fields of the transient-transactional instances are
restored to the values they had when makeTransactional( )
was called, using their captured before image (discussed in Chapter 14). If the call to makeTransactional( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access