Here is the code.....

/**
 * @see org.springmodules.jcr.SessionFactory#getSession()
 */
public Session getSession() throws RepositoryException {
return addListeners(repository.login(credentials, workspaceName));
}


/**
 * Hook for adding listeners to the newly returned session. We have to treat
 * exceptions manually and can't reply on the template.
 *
 * @param session JCR session
 * @return the listened session
 */
protected Session addListeners(Session session) throws RepositoryException {
if (eventListeners != null && eventListeners.length > 0) {
Workspace ws = session.getWorkspace();
ObservationManager manager = ws.getObservationManager();
if (log.isDebugEnabled())
log.debug("adding listeners " + Arrays.asList(eventListeners).toString() + "
for session " + session);

for (int i = 0; i < eventListeners.length; i++) {
manager.addEventListener(eventListeners[i].getListener(),
eventListeners[i].getEventTypes(),
eventListeners[i].getAbsPath(), eventListeners[i].isDeep(),
eventListeners[i].getUuid(),
eventListeners[i].getNodeTypeName(), eventListeners[i].isNoLocal());
}
}
return session;
}

Seems odd that it adds the listeners to the OM every time a session is
requested.




On 4 February 2010 16:22, <[email protected]> wrote:

> will do. Thank you once more for your help.
>
>
>

Reply via email to