{
String realId = entry.getKey();
String owner = entry.getValue();
long ts = -1;
DistributableSessionMetadata md = null;
try
{
IncomingDistributableSessionData sessionData = proxy_.getSessionData(realId, owner, false);
ts = sessionData.getTimestamp();
md = sessionData.getMetadata();
}
catch (Exception e)
{
// most likely a lock conflict if the session is being updated remotely;
// ignore it and use default values for timstamp and maxInactive
log_.debug("Problem reading metadata for session " + realId + " -- " + e.toString());
}
long lastMod = ts == -1 ? System.currentTimeMillis() : ts;
int maxLife = md == null ? getMaxInactiveInterval() : md.getMaxInactiveInterval();
OwnedSessionUpdate osu = new OwnedSessionUpdate(owner, lastMod, maxLife, false);
unloadedSessions_.put(realId, osu);
if (passivate)
{