Package org.eclipse.emf.cdo.transaction
Schnittstelle CDOUserTransaction
- Alle bekannten Unterschnittstellen:
CDOTransaction
,CDOXATransaction
,InternalCDOTransaction
,InternalCDOUserTransaction
,InternalCDOXATransaction
- Alle bekannten Implementierungsklassen:
CDOPushTransaction
public interface CDOUserTransaction
Provides functionality that is common to both
single
transactions and distributed
(XA) transactions.- Seit:
- 2.0
- Autor:
- Simon McDuff
- No Implement
- This interface is not intended to be implemented by clients.
- No Extend
- This interface is not intended to be extended by clients.
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungcommit()
Same ascommit(null)
.commit
(IProgressMonitor monitor) Commits the modifications of this transaction to the repository and returns acommit info
object if successful.void
rollback()
Creates a save point in theCDOTransaction
that can be used to roll back a part of the transaction
-
Methodendetails
-
commit
Same ascommit(null)
.- Löst aus:
ConcurrentAccessException
CommitException
- Seit:
- 3.0
-
commit
Commits the modifications of this transaction to the repository and returns acommit info
object if successful.Various kinds of problems can cause the commit to fail and not all of them can be avoided by acquiring pessimistic
locks
on the modified objects. In particular you must expect and handlecontainment cycle exceptions
. The following example shows how write robust transactions:CDOTransaction transaction = null; try { transaction = session.openTransaction(); for (;;) { transaction.getViewLock().lock(); try { CDOResource resource = transaction.getResource("/stock/resource1"); // Modify the model here... transaction.commit(); break; } catch (ConcurrentAccessException ex) { transaction.rollback(); } catch (CommitException ex) { throw ex.wrap(); } finally { transaction.getViewLock().unlock(); } } } finally { if (transaction != null) { transaction.close(); } }
Note that the transaction stays functional after a any call to thecommit()
methods. If the transaction is not closed after a commit it can be used to apply additional modifications to the model.- Löst aus:
ConcurrentAccessException
CommitException
- Seit:
- 3.0
-
rollback
void rollback() -
setSavepoint
CDOUserSavepoint setSavepoint()Creates a save point in theCDOTransaction
that can be used to roll back a part of the transactionSave points do not involve the server side, everything is done on the client side.
- Seit:
- 3.0
-
getLastSavepoint
CDOUserSavepoint getLastSavepoint()- Seit:
- 3.0
-