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
Modifier and TypeMethodDescriptionvoidAdds function that is executed after transaction commit or rollback.voidaddBeforeCommit(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 Details
-
addResource
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
- Type Parameters:
R- Ressource transactionnelle- Parameters:
transactionResourceId- Identifiant/type de ressource transactionnelle.- Returns:
- Ressource transactionnelle correspondant à l'id
-
addBeforeCommit
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
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
-