package com.github.windbender;
import java.util.Iterator;
import org.eclipse.jetty.server.session.HashSessionManager;
import org.eclipse.jetty.server.session.HashedSession;
import com.github.windbender.domain.User;
public class IterableHashSessionManager extends HashSessionManager {
public IterableHashSessionManager()
{
super();
}
public void operateOn(SessionOperator sessionOperator, User findUser)
{
//don't attempt to scavenge if we are shutting down
if (isStopping() || isStopped())
return;
Thread thread=Thread.currentThread();
ClassLoader old_loader=thread.getContextClassLoader();
try
{
if (_loader!=null)
thread.setContextClassLoader(_loader);
// For each session
long now=System.currentTimeMillis();
for (Iterator<HashedSession> i=_sessions.values().iterator(); i.hasNext();)
{
HashedSession session=i.next();
sessionOperator.operate(session, findUser);
}
}
finally
{
thread.setContextClassLoader(old_loader);
}
}
}