List of usage examples for com.vaadin.server WrappedSession getMaxInactiveInterval
public int getMaxInactiveInterval();
From source file:com.haulmont.cuba.web.sys.CubaVaadinServletService.java
License:Apache License
public CubaVaadinServletService(VaadinServlet servlet, DeploymentConfiguration deploymentConfiguration) throws ServiceException { super(servlet, deploymentConfiguration); Configuration configuration = AppBeans.get(Configuration.NAME); webConfig = configuration.getConfig(WebConfig.class); webAuthConfig = configuration.getConfig(WebAuthConfig.class); testMode = configuration.getConfig(GlobalConfig.class).getTestMode(); ServletContext sc = servlet.getServletContext(); String resourcesTimestamp = sc.getInitParameter("webResourcesTs"); if (StringUtils.isNotEmpty(resourcesTimestamp)) { this.webResourceTimestamp = resourcesTimestamp; } else {/*from w w w. j a v a2 s . c o m*/ this.webResourceTimestamp = "DEBUG"; } addSessionInitListener(event -> { WrappedSession wrappedSession = event.getSession().getSession(); wrappedSession.setMaxInactiveInterval(webConfig.getHttpSessionExpirationTimeoutSec()); HttpSession httpSession = wrappedSession instanceof WrappedHttpSession ? ((WrappedHttpSession) wrappedSession).getHttpSession() : null; log.debug("HttpSession {} initialized, timeout={}sec", httpSession, wrappedSession.getMaxInactiveInterval()); }); addSessionDestroyListener(event -> { WrappedSession wrappedSession = event.getSession().getSession(); HttpSession httpSession = wrappedSession instanceof WrappedHttpSession ? ((WrappedHttpSession) wrappedSession).getHttpSession() : null; log.debug("HttpSession destroyed: {}", httpSession); App app = event.getSession().getAttribute(App.class); if (app != null) { app.cleanupBackgroundTasks(); } }); setSystemMessagesProvider(systemMessagesInfo -> { Locale locale = systemMessagesInfo.getLocale(); CustomizedSystemMessages msgs = new CustomizedSystemMessages(); if (AppContext.isStarted()) { try { Messages messages = AppBeans.get(Messages.NAME); msgs.setInternalErrorCaption(messages.getMainMessage("internalErrorCaption", locale)); msgs.setInternalErrorMessage(messages.getMainMessage("internalErrorMessage", locale)); msgs.setCommunicationErrorCaption(messages.getMainMessage("communicationErrorCaption", locale)); msgs.setCommunicationErrorMessage(messages.getMainMessage("communicationErrorMessage", locale)); msgs.setSessionExpiredCaption(messages.getMainMessage("sessionExpiredErrorCaption", locale)); msgs.setSessionExpiredMessage(messages.getMainMessage("sessionExpiredErrorMessage", locale)); } catch (Exception e) { log.error("Unable to set system messages", e); throw new RuntimeException("Unable to set system messages. " + "It usually happens when the middleware web application is not responding due to " + "errors on start. See logs for details.", e); } } String redirectUri; if (RequestContext.get() != null) { HttpServletRequest request = RequestContext.get().getRequest(); redirectUri = StringUtils.replace(request.getRequestURI(), "/UIDL", ""); } else { String webContext = AppContext.getProperty("cuba.webContextName"); redirectUri = "/" + webContext; } msgs.setInternalErrorURL(redirectUri + "?restartApp"); return msgs; }); }
From source file:edu.nps.moves.mmowgli.modules.registrationlogin.RegistrationPageBase.java
License:Open Source License
@HibernateUpdate @HibernateUserUpdate// ww w. j ava 2s. c o m private void wereInReallyTL(User _u_) { boolean updateneeded = false; // avoid db hit if possible if (currentPopup != null) UI.getCurrent().removeWindow(currentPopup); // app.getMainWindow().removeWindow(currentPopup); MmowgliSessionGlobals globs = Mmowgli2UI.getGlobals(); globs.setLoggedIn(true); if (_u_ != null) { Object cacId = CACManager.getCacId(globs.getCACInfo()); if (cacId == null) { if (_u_.getCacId() != null) { _u_.setCacId(null); updateneeded = true; } } else if (!_u_.getCacId().equals(cacId.toString())) { _u_.setCacId(cacId.toString()); updateneeded = true; } //_u_.setCacId(cacId == null? null :cacId.toString()); if (!_u_.isWelcomeEmailSent()) { MailManager mmgr = AppMaster.instance().getMailManager(); mmgr.onNewUserSignupTL(_u_); _u_.setWelcomeEmailSent(true); updateneeded = true; } // If we're here, we've either been email-confirmed or that is not necessary; make sure here if (!_u_.isEmailConfirmed()) { _u_.setEmailConfirmed(true); updateneeded = true; } // Adjust session timeouts. Default (standard user) is set in web.xml VaadinSession vsess = UI.getCurrent().getSession(); WrappedSession sess = vsess.getSession(); if (_u_.isGameMaster()) sess.setMaxInactiveInterval(GAMEMASTER_SESSION_TIMEOUT_SECONDS); if (_u_.isAdministrator()) sess.setMaxInactiveInterval(ADMINSTRATOR_SESSION_TIMEOUT_SECONDS); MSysOut.println(SYSTEM_LOGS, "Vaadin heartbeat interval (sec): " + vsess.getConfiguration().getHeartbeatInterval()); MSysOut.println(SYSTEM_LOGS, "Tomcat timeout (\"maxInactiveInterval\") (sec): " + sess.getMaxInactiveInterval()); GameEventLogger.logUserLoginTL(_u_); if (updateneeded) { User.updateTL(_u_); } HSess.closeAndReopen(); // should be ok _u_ = User.merge(_u_, HSess.get()); MmowgliController cntlr = globs.getController(); if (cntlr != null) cntlr.handleEventTL(MmowgliEvent.HANDLE_LOGIN_STARTUP, _u_, null); //don't want User.get() in this session, userId, null); else System.err.println("No controller in RegistrationPageBase.wereIn()"); AppMaster.instance().sendMySessionReport(); } }