* Could checkout() be made part of the page-locking process? Could the
act of placing a PageLock prompt a checkout() operation?

req's reworking of pagelocks; embedded use does not require locking. They are conceptually different also, since pagelock can last for a long time.

Also, to continue in this vein, JCR also supports locking as a separate thing, and that's conceptually even more different than PageLocks. I haven't yet figured out a good use for the JCR locking in JSPWiki context. It has a couple of downsides:

* JCR locks expire randomly. That is, most of the time they do not expire, but there is usually a cleanup process which randomly throws away old locks. JCR defines no way to configure this. * JCR lock tokens require a lot of safekeeping; if you lose one, you can't unlock. * JCR locks don't have the necessary metadata to replace PageLocks; those would need to be managed manually anyway. * PageLocks can be broken trivially programmatically; JCR locks cannot, unless you have the token.

JCR locking is really meant to prevent concurrent modification by multiple accessors. I think we might find them very useful when we enable clustering, but before then I'm not too sure what to use them for.

/Janne

Reply via email to