Well, perhaps you can apply the same pattern with cache. If cache integrity is needed and hence locking, you could delegate the actual lock management on the cache itself. The point is to convert all the objects that require exclusive access into thread-safe objects (reviewing its public methods and protecting only those needed) instead of manage the lock outside them. This strategy minimizes the time a lock is held so potentially you can achieve more performance.
I've not reviewed the code deeply, so perhaps I'm missing something. Let me know anyway, I'm very interested on improving the jackrabbit performance in multi-threaded environments, so I'm completely at your disposal. Best regards, On 06/06/07, Marcel Reutegger <[EMAIL PROTECTED]> wrote:
Hi Miguel, Miguel Ángel Jiménez wrote: > I would also like to see jackrabbit doing concurrent writes at its core, > delegating the lock management to the PersistenceManager implementation. hmm, that's an interesting idea, but I'm not sure if it will work. ISM locking in jackrabbit has specific requirements because it also uses locking to ensure cache integrity. the requirements are documented in the interface description of ISMLocking. regards marcel
-- Miguel.
