В одном из контроллеров в моем приложении Grails я сохраняю значение параметра в переменной сеанса как это:
session.myVariable = params.myValue
После этого я могу получить доступ к сохраненному значению от другого controllers/GSP-pages, пока я активно использую приложение. Однако, если я не использую свое приложение некоторое время, даже при том, что мое окно браузера все еще открыто, переменная сеанса освобождает, это - значение.
Это происходит, потому что сессия истекает? У меня создалось впечатление, что сессия живет, пока окно браузера не все еще открыто, но по-видимому я был неправ.
Что я должен сделать для обеспечения всех переменных сеанса, которые я определяю в своем приложении Grails, не истекают, пока браузер не закрывается? Там какой-либо путь состоит в том, чтобы установить тайм-аут сессии вручную?
Заранее спасибо за Ваши ответы!
Другой вариант - изменить web.xml. Прежде вы должны вызвать
grails install-templates
Затем отредактируйте src / templates / war / web.xml и добавьте / измените после servlet-mapping:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
Значение тайм-аута сеанса использует минуты в качестве единицы.
Я могу ошибаться, но я почти уверен, что Grails использует сеансы, связанные с контейнером вашего приложения. Например, если вы используете Tomcat, вы можете указать продолжительность сеанса.
Учебное пособие по изменению продолжительности сеанса Tomcat.