Package io.vertigo.commons.transaction
Interface VTransaction
-
- All Known Subinterfaces:
VTransactionWritable
public interface VTransaction
Transaction. Une transaction : - contient un ensemble de ressources de type BDD, fichiers, JMS... - est soit démarrée, soit terminée. - peut posséder (ou être) une transaction imbriquée.- Author:
- pchretien
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addAfterCompletion(VTransactionAfterCompletionFunction function)
Adds function that is executed after transaction commit or rollback.void
addBeforeCommit(Runnable function)
Adds function that is executed just before transaction commit.<R extends VTransactionResource>
voidaddResource(VTransactionResourceId<R> id, R resource)
Ajoute une ressource à la transaction en précisant son ordre au sein de la transaction.<R extends VTransactionResource>
RgetResource(VTransactionResourceId<R> transactionResourceId)
-
-
-
Method Detail
-
addResource
<R extends VTransactionResource> void addResource(VTransactionResourceId<R> id, R resource)
Ajoute une ressource à la transaction en précisant son ordre au sein de la transaction. Il n'est pas possible d'enregistrer pour une même transaction, deux ressources avec le même identifiant.- Type Parameters:
R
- Ressource transactionnelle- Parameters:
id
- Identifiant de la ressource transactionnelle au sein de la transactionresource
- Ressource transactionnelle
-
getResource
<R extends VTransactionResource> R getResource(VTransactionResourceId<R> transactionResourceId)
- Type Parameters:
R
- Ressource transactionnelle- Parameters:
transactionResourceId
- Identifiant/type de ressource transactionnelle.- Returns:
- Ressource transactionnelle correspondant à l'id
-
addBeforeCommit
void addBeforeCommit(Runnable function)
Adds function that is executed just before transaction commit. Functions are executed in registration order If an exception occures then - current transaction is rollbacked - other beforeCommit functions are not executed Examples : - saves a file and keeps the main database as the master- Parameters:
function
- the function to execute beforeCommit
-
addAfterCompletion
void addAfterCompletion(VTransactionAfterCompletionFunction function)
Adds function that is executed after transaction commit or rollback. Functions are executed in registration order These functions are always executed. If an exception occures then - current transaction was NOT rollbacked - all afterCompletion functions ARE executed Examples : - send a mail or a notification when an operation has been successfully done (an item updated,...) - clear temp data if operation failed- Parameters:
function
- the function to execute afterCompletion
-
-