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 Details

    • 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 transaction
      resource - 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