IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Les transactions = les controler à volonté


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 54
    Par défaut Les transactions = les controler à volonté
    Bonjours à tous.
    Je suis confronter à un problème avec les transactions.
    Je voudrais savoir savoir si il est possible de rendre un service non transactionel au moment de l'appel de celui ci, alors que la classe implémentant le service est annoté par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Transactional(value = "transactionManagerJpa")
    .

    Je voudrais en faite pouvoir réaliser le traitement de mon service, mais pour le cas ou il y a une exception, que il n'y ai pas de rollback des sauvegardes déjà réalisé.
    Seulement voila ce comportement n'est pas la généralité, c'est plutôt une exception, c'est pour ça que je veut pouvoir rendre mon service non transactionnel seulement durant un appel particulier.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Par défaut SUPPORTS ou autre
    Hello,

    Si tu as la main sur ta méthode, tu peux en changer le mode de Propagation (http://static.springsource.org/sprin...opagation.html).

    Par exemple (mais on pourrait faire différemment), utiliser Propagation.SUPPORTS
    Du coup tu contrôlerait le fait d'appeler cette méthode de manière transactionnelle ou non en fonction du fait que la méthode appelante est transactionnelle ou non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    @Transactional(value = "transactionManagerJpa", propagation="Propagation.SUPPORTS")
    public void maMethode(){
    ...
    }
    @Transactional(value = "transactionManagerJpa", propagation="Propagation.REQUIRED")
    public void maMethodeTransactionnelle(){
       maMethode();
    }
     
    @Transactional(value = "transactionManagerJpa", propagation="Propagation.NEVER")
    public void maMethodeNonTransactionnelle(){
       maMethode();
    }
     
    public void choix(){
       try{
           trucQuiPeutGenererLException();
           maMethodeTransactionnelle();
       }
       catch (MyException e){
           maMethodeNonTransactionnelle();
       }
    }
    Ya probablement plus élégant...

Discussions similaires

  1. IBM Enterprise Systems exécute les transactions les plus sophistiqués.
    Par aodix dans le forum Forum général Solutions d'entreprise
    Réponses: 0
    Dernier message: 24/12/2008, 19h42
  2. Controler les insertions avec les transactions
    Par robocop2776 dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/05/2007, 14h13
  3. petite aide sur les transactions et triggers SVP
    Par CharleLéo dans le forum Débuter
    Réponses: 4
    Dernier message: 15/11/2004, 20h43
  4. les Transactions sous interbase
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/10/2004, 11h15
  5. [interbase] gerer les transactions
    Par webbulls dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/05/2004, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo