jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek" <aklim...@day.com>
Subject Re: Problem with node.checkin() in same transaction node was created
Date Tue, 23 Sep 2008 11:22:04 GMT
On Mon, Sep 22, 2008 at 10:40 PM, kenclark <kenclark@snet.net> wrote:
> From the first link (http://markmail.org/message/2alwjclh6kecpbdn), there is
> this statement:
> "When you first create a node that is versionable and set properties on it,
> you call save on the node. Then the base version of the node has that
> property value. "
> However, this is not what I see from the root version.  The root version
> does have a jcr:frozenNode child, but that child does not have the property
> on it that I set on the versioned Node.
> After the root version, the property does show up on the frozenNode child.
> Also, this conflicts with (if I understand them correctly) what Brett and
> Julian are saying about the root version, which is really just a starting
> point.
> Thus, there really is no "first version" created upon save of the
> mix:versionable node, at least if what is meant by first version is the
> initial copy of the node.  There has to be a checkin().  Or am I still being
> dense?

Sorry, the mail link was actually not a complete description ;-) It's
true that there has to be a checkin(), so your code is correct.

Regarding the exception you get: it is interesting to see that there
is no exception from jackrabbit or any jackrabbit class in the
stacktrace. Maybe you omitted the bottom part of the stacktrace? AFAIK
the xml pm, as it does no transactioning at all, could also never
throw an exception if something fails during a transaction. In other
words, it would not rollback the transaction if a file system write
access or similar occurred. So I guess the exception you get
(javax.transaction.HeuristicMixedException, which sounds weird, but I
am not an expert in JTA) might have a different cause.


Alexander Klimetschek

View raw message