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