Thank you for the clarification Alex, and for adding the info to the Wiki.
I am using Jackrabbit 1.4 - does it still apply? When you mention 'in Jackrabbit', do you mean when using Jackrabbit implementations such as org.apache.jackrabbit.core.SessionImpl and org.apache.jackrabbit.core.NodeImpl , rather than the core JCR? I must admit the only Jackrabbit I am currently using is the configuration, registration of custom node types and registration / unregistration of the repository in JNDI. Should I be replacing all of my JCR with Jackrabbit? I'd like to be sure that I am using Jackrabbit to ensure UUIDs are already assigned when the node is created and don't change upon save. Can JCR and Jackrabbit be interchanged? i.e. could I used a Jackrabbit PropertyImpl with a JCR Node? Sorry for the silly questions! Kind regards, James Alexander Klimetschek wrote: > > On Tue, Jul 28, 2009 at 4:51 PM, Gadbury<[email protected]> wrote: >> If I am within a user managed transaction's scope, and I have added a >> node >> and then call session.save(), is it safe to rely on that node's UUID or >> would I have to wait until the transaction has been committed? >> >> Here is the excerpt from the JCR 1.0 specification: >> >> 4.9.1.1 When UUIDs are Assigned >> >> In some client-server implementations the assignment of a >> permanent UUID >> may be done on the server. >> In these cases it is not practical for a newly created >> referenceable node >> to be given a UUID upon creation. >> Rather, it makes more sense for the UUID to be assigned upon save >> of that >> node. >> In such cases a “dummy UUID” may be assigned on creation of a new >> node >> while the real UUID assignment takes place later, upon save. >> Applications should not, therefore, rely on the UUID of a node >> before that >> node is saved for the first time. > > The spec only talks about creating node vs. save(), but since in case > of transactions a tx commit comes after a save(), you can be sure that > the "final" UUID is assigned after your save - you don't have to wait > for the commit. > > In Jackrabbit, UUIDs are already assigned when the node is created and > don't change upon save. I added this implementation choice item to > http://wiki.apache.org/jackrabbit/JcrSpecImplementation > > Regards, > Alex > > -- > Alexander Klimetschek > [email protected] > > -- View this message in context: http://www.nabble.com/User-Managed-Transactions...-tp24687924p24702610.html Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
