下面列出了怎么用org.eclipse.jetty.server.session.DefaultSessionIdManager的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void init(ServletContextHandler sc) {
CoreConfig cc = CoreConfig.getInstance("defines");
String dh = cc.getProperty("jetty.session.manager.db", "default");
Server sv = sc . getServer ( );
DefaultSessionIdManager im = new DefaultSessionIdManager(sv);
im.setWorkerName (Core.SERVER_ID);
sv.setSessionIdManager (im);
SessionHandler sh = sc . getSessionHandler ( );
DefaultSessionCache ch = new DefaultSessionCache (sh);
JDBCSessionDataStore sd = new JDBCSessionDataStore( );
sd.setDatabaseAdaptor (getAdaptor(dh));
ch.setSessionDataStore (sd);
sh.setSessionCache (ch);
sc.setSessionHandler (sh);
}
@Override
public void setUp() throws Exception
{
super.setUp();
System.setProperty("solr.solr.home", SolrJettyTestBase.legacyExampleCollection1SolrHome());
System.setProperty("tests.shardhandler.randomSeed", Long.toString(random().nextLong()));
System.setProperty("solr.tests.doContainerStreamCloseAssert", "false");
File dataDir = createTempDir().toFile();
dataDir.mkdirs();
System.setProperty("solr.data.dir", dataDir.getCanonicalPath());
String path = ExternalPaths.WEBAPP_HOME;
server = new Server(port);
// insecure: only use for tests!!!!
server.setSessionIdManager(new DefaultSessionIdManager(server, new Random(random().nextLong())));
new WebAppContext(server, path, context );
ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory());
connector.setIdleTimeout(1000 * 60 * 60);
connector.setPort(0);
server.setConnectors(new Connector[]{connector});
server.setStopAtShutdown( true );
server.start();
port = connector.getLocalPort();
}
private void initSessionManager() {
idmanager = new DefaultSessionIdManager(server);
server.setSessionIdManager(idmanager);
SessionHandler sessions = new SessionHandler();
sessions.setSessionIdManager(idmanager);
filters.addHandler(sessions);
}
@Override
public void run(@Nonnull Map<String, Object> map) {
StatCollector stat = (StatCollector)map.get(ContainerStartup.STAT_COLLECTOR);
String[] args = (String[])map.get(ContainerStartup.ARGS);
StartupUtil.initializeLogger();
ServletHandler handler = new ServletHandler();
Server server = new Server(8080);
DefaultSessionIdManager idmanager = new DefaultSessionIdManager(server);
server.setSessionIdManager(idmanager);
SessionHandler sessionHandler = new SessionHandler();
sessionHandler.setSessionIdManager(idmanager);
handler.setHandler(sessionHandler);
server.setHandler(handler);
registerServlets(handler);
try {
server.start();
new Thread(() -> startApplication(stat, args), "Consulo App Start").start();
}
catch (Exception e) {
e.printStackTrace();
}
}