Hi, On Tue, Oct 12, 2010 at 10:14 AM, Cory Prowse <[email protected]> wrote: > What I believe is the root cause is that the ConnectionRecoveryManager always > enables auto-commit, causing any distributed transactions to fail (since the > two > phase commit can't work since it is already auto commited).
Let me guess, you've configured Jackrabbit to use an underlying database connection that's also a part of the distributed transaction? That's not supported. Jackrabbit implements XA support directly on the JCR Session level, and to do so it requires full control of any underlying database connections. To implement the XA commit() contract Jackrabbit needs to know that when it does commit changes to the underlying database (through auto-commit where appropriate), those changes actually get written to disk instead of being left waiting for a distributed transaction to complete. BR, Jukka Zitting
