gzipHandler.setHandler(handlerlist2); HashSessionIdManager idmanager = new HashSessionIdManager(); LoklakServer.server.setSessionIdManager(idmanager); SessionHandler sessions = new SessionHandler(new HashSessionManager());
private HashSessionIdManager getDelegate() { if (delegate != null) { return delegate; } synchronized (this) { if (delegate != null) { return delegate; } HashSessionIdManager realManager = new HashSessionIdManager(); try { realManager.start(); } catch (Exception e) { throw new RuntimeException(e); } delegate = realManager; return delegate; } }
/** * @see SessionIdManager#addSession(HttpSession) */ public void addSession(HttpSession session) { String id = getClusterId(session.getId()); WeakReference<HttpSession> ref = new WeakReference<HttpSession>(session); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.get(id); if (sessions==null) { sessions=new HashSet<WeakReference<HttpSession>>(); _sessions.put(id,sessions); } sessions.add(ref); } }
public ClusteredSessionManager(SessionManager sessionManager) { this.sessionManager = sessionManager; String workerName = sessionManager.getNode().getName(); workerName = workerName.replaceAll(" ", ""); HashSessionIdManager sessionIdManager = new HashSessionIdManager(); sessionIdManager.setWorkerName(workerName); setIdManager(sessionIdManager); sessionManager.registerListener(new MigrationListener()); }
public void renewSessionId (String oldClusterId, String oldNodeId, HttpServletRequest request) { //generate a new id String newClusterId = newSessionId(request.hashCode()); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.remove(oldClusterId); //get the list of sessions with same id from other contexts if (sessions!=null) { for (Iterator<WeakReference<HttpSession>> iter = sessions.iterator(); iter.hasNext();) { WeakReference<HttpSession> ref = iter.next(); HttpSession s = ref.get(); if (s == null) { continue; } else { if (s instanceof AbstractSession) { AbstractSession abstractSession = (AbstractSession)s; abstractSession.getSessionManager().renewSessionId(oldClusterId, oldNodeId, newClusterId, getNodeId(newClusterId, request)); } } } _sessions.put(newClusterId, sessions); } } }
@Override public String getNodeId(String clusterId, HttpServletRequest request) { return getDelegate().getNodeId(clusterId, request); }
@Override public String newSessionId(HttpServletRequest request, long created) { return getDelegate().newSessionId(request, created); }
/** * @see SessionIdManager#addSession(HttpSession) */ public void addSession(HttpSession session) { String id = getClusterId(session.getId()); WeakReference<HttpSession> ref = new WeakReference<HttpSession>(session); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.get(id); if (sessions==null) { sessions=new HashSet<WeakReference<HttpSession>>(); _sessions.put(id,sessions); } sessions.add(ref); } }
public ClusteredSessionManager(SessionManager sessionManager) { this.sessionManager = sessionManager; String workerName = sessionManager.getNode().getName(); workerName = workerName.replaceAll(" ", ""); HashSessionIdManager sessionIdManager = new HashSessionIdManager(); sessionIdManager.setWorkerName(workerName); setIdManager(sessionIdManager); sessionManager.registerListener(new MigrationListener()); }
private HashSessionIdManager getDelegate() { if (delegate != null) { return delegate; } synchronized (this) { if (delegate != null) { return delegate; } HashSessionIdManager realManager = new HashSessionIdManager(); try { realManager.start(); } catch (Exception e) { throw new RuntimeException(e); } delegate = realManager; return delegate; } }
public void renewSessionId (String oldClusterId, String oldNodeId, HttpServletRequest request) { //generate a new id String newClusterId = newSessionId(request.hashCode()); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.remove(oldClusterId); //get the list of sessions with same id from other contexts if (sessions!=null) { for (Iterator<WeakReference<HttpSession>> iter = sessions.iterator(); iter.hasNext();) { WeakReference<HttpSession> ref = iter.next(); HttpSession s = ref.get(); if (s == null) { continue; } else { if (s instanceof AbstractSession) { AbstractSession abstractSession = (AbstractSession)s; abstractSession.getSessionManager().renewSessionId(oldClusterId, oldNodeId, newClusterId, getNodeId(newClusterId, request)); } } } _sessions.put(newClusterId, sessions); } } }
@Override public String getNodeId(String clusterId, HttpServletRequest request) { return getDelegate().getNodeId(clusterId, request); }
@Override public String newSessionId(HttpServletRequest request, long created) { return getDelegate().newSessionId(request, created); }
gzipHandler.setHandler(handlerlist2); HashSessionIdManager idmanager = new HashSessionIdManager(); LoklakInstallation.server.setSessionIdManager(idmanager); SessionHandler sessions = new SessionHandler(new HashSessionManager());
/** * @see SessionIdManager#addSession(HttpSession) */ public void addSession(HttpSession session) { String id = getClusterId(session.getId()); WeakReference<HttpSession> ref = new WeakReference<HttpSession>(session); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.get(id); if (sessions==null) { sessions=new HashSet<WeakReference<HttpSession>>(); _sessions.put(id,sessions); } sessions.add(ref); } }
private void initializeHandlers() { statisticsHandler = new ManagedStatisticsHandler(); if (logFilename != null) { RequestLogHandler requestLogHandler = createLogHandler(); server.setHandler(requestLogHandler); } else { server.setHandler(statisticsHandler); } ExecutionContextHandler executionHandler = new ExecutionContextHandler(); statisticsHandler.setHandler(executionHandler); rootHandler = new ContextHandlerCollection(); executionHandler.setHandler(rootHandler); contextHandler = new ServletContextHandler(rootHandler, ROOT); sessionManager = new ManagedHashSessionManager(); HashSessionIdManager sessionIdManager = new HashSessionIdManager(); String workerName = hostInfo.getRuntimeName().replace(".", "_"); // Jetty does not accept names with '.' characters sessionIdManager.setWorkerName(workerName); server.setSessionIdManager(sessionIdManager); sessionManager.setIdManager(sessionIdManager); SessionHandler sessionHandler = new SessionHandler(sessionManager); servletHandler = new ManagedServletHandler(); sessionHandler.setHandler(servletHandler); contextHandler.setHandler(sessionHandler); try { statisticsHandler.start(); statisticsHandler.startStatisticsCollection(); } catch (Exception e) { e.printStackTrace(); } }
String newClusterId = newSessionId(request.hashCode()); abstractSession.getSessionManager().renewSessionId(oldClusterId, oldNodeId, newClusterId, getNodeId(newClusterId, request));
HashSessionIdManager idmanager = new HashSessionIdManager(); server.setSessionIdManager(idmanager);
/** * @see SessionIdManager#addSession(HttpSession) */ public void addSession(HttpSession session) { String id = getClusterId(session.getId()); WeakReference<HttpSession> ref = new WeakReference<HttpSession>(session); synchronized (this) { Set<WeakReference<HttpSession>> sessions = _sessions.get(id); if (sessions==null) { sessions=new HashSet<WeakReference<HttpSession>>(); _sessions.put(id,sessions); } sessions.add(ref); } }
HashSessionIdManager sessionIdManager = new HashSessionIdManager(); String workerName = hostInfo.getRuntimeName().replace(".", "_"); // Jetty does not accept names with '.' characters sessionIdManager.setWorkerName(workerName); server.setSessionIdManager(sessionIdManager); SessionHandler sessionHandler = new SessionHandler(sessionManager);