Hi,
I am using davex to access a jackrabbit 2.2.1 repository remotely.
Everything works OK, only I see these messages in the jackrabbit log:
2011-01-26 13:11:24.713 ERROR [444092735@qtp-1957835280-22]
JCRWebdavServer.java:210 Failed to add reference to session. No entry in
cache found.
2011-01-26 13:11:24.715 ERROR [444092735@qtp-1957835280-22]
JCRWebdavServer.java:246 Failed to remove reference from session. No entry
in cache found.
2011-01-26 13:11:26.549 WARN [Finalizer] SessionImpl.java:1261
Unclosed session detected. The session was opened here:
(and a stack trace, i can provide it on demand)
In my client application, I am pretty sure that I call logout to every
session I obtain with login, i have verified by using a counter, counting
the number of open sessions.
I have read previous posts explaining that the warning is cause by an
abandoned session taht is garbage collected. However when I see the 2
previous messages, if I understand the relavant code portion in
JCRWebdavServer correxctly:
private void addReference(DavSession session, Object reference) {
HashSet referenceSet = sessionMap.get(session);
if (referenceSet != null) {
referenceSet.add(reference);
referenceToSessionMap.put(reference, session);
} else {
log.error("Failed to add reference to session. No entry in
cache found.");
}
}
This would mean that a reference to the session was not added, so it follows
naturally that the session is orphaned when garbage collected.
I create teh session by calling Repository#login and release it via
Session#logout
Is there something else I should be doing?
Thank you for any insight.
Luis