I want to get some assumptions of mine clarified regarding the usage
of classes like Session and ResourceResolver in event handlers.

1. The jackrabbit session is not threadsafe
2. ResourceResolvers are not threadsafe
3. Event services (EventHandler, JobProcessor,
javax.jcr.observation.Eventlistener) can be called concurrently

-> Sessions and Resolvers should not be stored as instance members but
opened and closed in the in the process/handleEvent methods.

If this is true, how expensive is the creation of a session? I read in
a blog, that the creation is considered expensive and wonder if it
makes more sense
to create the session new every time (and we have quite a lot of
events processed by the handlers), or to synchronize access to an
instance session?

Regards,
 Markus

Reply via email to