user-defined transactions

From: Jens Mayer (Jens.Mayer..mx.de)
Date: Thu Apr 26 2007 - 06:04:34 EDT

  • Next message: Oilid Adsi: "AW: AW: postgres, idle in transaction"

    Hi,

    I am not sure if I understood the concept of user-defined transaction:

    I am accessing two different db-schemas at the same time, using two DataDomains, one for each schema.
    Now I want to update data (synchronously) on both schemas with my own user-defined transaction-scope.

    I have to use two different transactions, one for each Domain.
    So that's my plan to handle the transactions:

    Transaction tx1 = domain1.createTransaction();
    Transaction tx2 = domain2.createTransaction();

    Transaction.bindThreadTransaction(tx1);
    Transaction.bindThreadTransaction(tx2);

    (Here is the first question: is it possible to bind two different transactions to the same thread?)

    try {
            ... doing some work on both schemas through SQLTemplates ...
            
            // success
            tx1.commit();
            tx2.commit();

    } catch (Exception ex) {
              // error
              tx1.setRollbackOnly();
              tx2.setRollbackOnly();
    } finally {
            
              Transaction.bindThreadTransaction(null);
              // hmm... does that means that both Transactions were unbind?
            
              if ((tx1.getStatus() == Transaction.STATUS_MARKED_ROLLEDBACK) ||
                  (tx2.getStatus() == Transaction.STATUS_MARKED_ROLLEDBACK)) {
                 try {
                          tx1.rollback();
                          tx2.rollback();
                 } catch (Exception ex1) {
                   ...
                 }
              }
    }

    Any help appreciated

    Jens
            

    -- 
    "Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
    Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
    



    This archive was generated by hypermail 2.0.0 : Thu Apr 26 2007 - 06:05:32 EDT