import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.session.HashSessionIdManager; import org.eclipse.jetty.server.session.JDBCSessionManager; public class ScoopSessionManager extends JDBCSessionManager { @Override public void doStart() throws Exception { final Server server = getSessionHandler().getServer(); _sessionIdManager = server.getSessionIdManager(); if (_sessionIdManager == null) { _sessionIdManager = new HashSessionIdManager(); server.setSessionIdManager(_sessionIdManager); } super.doStart(); } }
_sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
_sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
synchronized (server) _sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
_sessionIdManager=server.getSessionIdManager(); if (_sessionIdManager==null)
private JettyRunner configureClusteredJetty(String name, int port) throws Exception { JettyRunner runner = new JettyRunner(); runner.configure("src/test/cluster", "", port, port + 100); JDBCSessionIdManager idMgr = new JDBCSessionIdManager(runner.getServer()); idMgr.setWorkerName(name); idMgr.setDriverInfo("org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:clustertest"); Server server = runner.getServer(); server.setSessionIdManager(idMgr); WebAppContext wac = (WebAppContext) server.getHandler(); JDBCSessionManager jdbcMgr = new JDBCSessionManager(); jdbcMgr.setIdManager(server.getSessionIdManager()); // force the session to be read from the database with no delay // This is an incorrectly documented feature. jdbcMgr.setSaveInterval(0); wac.setSessionHandler(new SessionHandler(jdbcMgr)); wac.getServletContext().setInitParameter("cluster.name", name); runner.start(); return runner; }