Hello,
In JackRabbit the query of Repository.OPTION_TRANSACTIONS_SUPPORTED return true.
Therefore we want to use javax.transaction.UserTransaction with JackRabbit.
What we want to do is shown in the following simplified pseude-code:
Session session = null;
UserTransaction tx = null;
try {
session = login(...);
tx = new UserTransactionImpl();
tx.begin();
//delete a node persisted in JackRabbit
Node node = session.getNode(path);
node.remove();
session.save();
//delete resources persisted in another XA datasource
cleanOtherDBResources();
doSomeOtherCode();
tx.commit();
} catch (Exception e) {
if (tx != null) { tx.rollback();}
} finally {
if (session != null) { session.logout();}
}
When in doSomeOtherCode() an exception is thrown, than the steps done in
cleanOtherDBResources() are roll-back but JackRabbit's node.remove() is not
roll-back.
Perhaps I miss some configuration issues to use JackRabbit in a UserTransaction
correctly.
Does somebody know how to use javax.transaction.UserTransaction in a JackRabbit
environment?
Thx in advance!
ferry malzer