jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel May <marcel....@consol.de>
Subject Questions about TX in Jackrabbit, JTA and Spec compliance
Date Mon, 09 Jul 2007 08:49:08 GMT
I have two questions about Jackrabbit and tx handling.

1) Using Jackrabbit deployed as resource adapter (JCA) and using a
BundlePersistenceManager, I wonder if it is XA compliant:

The persistence manager BundleDbPersistenceManager invokes
setAutoCommit() and commit() on the db connection in the
store(ChangeLog) method.

This is illegal for managed connections (JTA and XA), right?
So what is the right PM/FS for JCA when I want XA? Is it possible at all?


2) I wonder if the current Jackrabbit impl. is specification conform.
   I see a conflict with the JCR spec, chapter 8.1 about TXs and JCR
implementations:

"A compliant content repository may support transactions. If it does
so, it must adhere to the Java Transaction API (JTA) specification
(see http://java.sun.com/products/jta/index.html).
Whether a particular implementation supports transactions can be
determined by querying the repository descriptor table with
Repository.getDescriptor("OPTION_TRANSACTIONS_SUPPORTED")"

The return value of
session.getRepository().getDescriptor("option.transactions.supported")
is true, but no JTA is used (again, look at the persistence manager
implementations like BundlePersistenceManager, where TX operations are
performed directly on the database connection instead handled by a
transaction manager).

I'm really confused ... did I misunderstand the JCR Spec and JTA/XA?

Thanks,
Marcel


Mime
View raw message