AnsweredAssumed Answered

gestion de transaction [RESOLU]

Question asked by fmarin on Jul 2, 2013
Latest reply on Oct 12, 2013 by fmarin
bonjour

je suis en train d'approfondir les mécanismes de gestion de transaction.

J'utilise alfresco 4.2.c

J'ai une classe java (javaBacked script) qui contient le code :
      
…/…
TransactionService transactionService = serviceRegistry.getTransactionService();
trx = serviceRegistry.getTransactionService().getUserTransaction();
   try
   {
      trx.begin();
      if (debug) System.out.println("-transaction commence");
      bp=baseParam.traitParam(req);
      if (debug) System.out.println("-transaction finit");
      trx.commit();
   }
   catch(Throwable e)
   {
      try
      {
      trx.rollback();
      System.out.println("rollback sur baseParam.traitParam(req))");
      System.out.println("EXCEPTION : "+e);
      e.printStackTrace();
      }
      catch(Throwable ee)
      {
         System.out.println("erreur de rollback sur baseParam.traitParam(req))");
         System.out.println("EXCEPTION : "+ee);
         ee.printStackTrace();
      }
      bp=true;
   }      
…/…    


baseParam.traitParam(req) me sert à créer le contexte de démarrage (création d'espace et de catégories).

Quand la suite du code ne provoque pas d'exception, tout cela fonctionne parfaitement (j'ai bien mon contexte initialisé).

Quand je provoque une exception dans la suite du code, un rollback général se produit (… et mon contexte n'est plus créé).

Est ce la bonne méthode ?

merci pour votre aide

Frédéric Marin

Outcomes