_logger.finest("ForeGround : Deregistering ssoId '"
+ ssoId + "'");
}
}
// Look up and remove the corresponding SingleSignOnEntry
SingleSignOnEntry sso = null;
ReplicationSSOStore store = null;
long startTime = 0L;
if (_logger.isLoggable(Level.FINEST)) {
startTime = System.currentTimeMillis();
}
try {
store = (ReplicationSSOStore)getSSOStore();
synchronized (cache) {
sso = (SingleSignOnEntry) cache.remove(ssoId);
}
try {
if(!bgCall)
store.remove(ssoId);//remove from ssotable
else
//FIXME remove after test
//store.remove(ssoId,null);
store.remove(ssoId);
} catch (Exception e) {
if (_logger.isLoggable(Level.FINE)) {
_logger.log(Level.FINE, "exception occurred in deregister ssoId=" + ssoId, e);
}
}
if (sso == null)
return;
// Expire any associated sessions
Session sessions[] = sso.findSessions();
for (int i = 0; i < sessions.length; i++) {
if (_logger.isLoggable(Level.FINEST)) {
_logger.finest("Invalidating session " + sessions[i]);
}
// Remove from reverse cache first to avoid recursion