jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominique Pfister" <dominique.pfis...@day.com>
Subject Re: XA Transaction question
Date Thu, 01 Mar 2007 15:55:56 GMT
Hi Paul,

you're right, session.save() will either save all or nothing, so you
don't really need transactions here. But just out of curiosity - and
because and I don't think anything is wrong with your sample code -
can you tell me how you set up your repository in the JNDI context?

Kind regards
Dominique


On 2/28/07, Paul Eggerling-Boeck <paulboeck@yahoo.com> wrote:
> I read the Jackrabbit FAQ about transactions and have implemented
> something like the following:
>
> InitialContext context = new InitialContext();
> Context environment = (Context) context.lookup("java:comp/env");
> Repository repository = (Repository) environment.lookup("jcr/repository");
> XASession session = (XASession)repository.login(new
> SimpleCredentials("username", "password".toCharArray()), null);
>
> XAResource xares = session.getXAResource();
>
> // XID stuff from FAQ is next
>
> xares.start(xid, XAResource.TMNOFLAGS);
> // Create some nodes and properties
> session.save();
> xares.end(xid, XAResource.TMSUCCESS);
> xares.rollback(xid);
>
> Note that I'm testing a rollback here so there's no xares.prepare() or
> xares.commit();
>
> My problem is that the changes get persisted and not rolled back.  I'm
> not using a UserTransaction or any transaction manager, just going at
> the XAResource directly.  I read in the archives that the
> session.save() method is all-or-nothing in and of itself so do I
> really even need to do XA transactions if I just want to make sure all
> my changes to the session are persisted as a unit?
>
> Am I doing something wrong?  Anybody else run into this?
>
> BTW, I'm using
> org.apache.jackrabbit.core.fs.local.LocalFileSystem and
> org.apache.jackrabbit.core.state.db.DerbyPersistenceManager
>
> Thanks,
>
> Paul
>

Mime
View raw message