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 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 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