Я имею дело с JSP-веб-приложением и получаю проблемы в момент истечения срока действия сеанса. Как указано в файле web.xml, тайм-аут определяется через 30 минут. Но я хочу поддерживать сеанс в течение времени, когда пользователь просто держит окно открытым. Сначала я подумал о простом AJAX-компоненте, который говорит «привет» серверу каждые 10 минут и, возможно, отправляет простое тестовое заявление в базу данных (например, «Выбрать 1»).
Но две вещи вызывают у меня подозрения по этому поводу:
- Если бы я поместил простой
setTimeout(sayHi(),600)
в бесконечный цикл while-JS, было бы это эффективным и мудрым решением? - Является ли даже концепция этого хорошей идеей?
Все пользователи системы совместно используют общее объединенное соединение BoneCP с базой данных для выполнения коротких запросов из базы данных. Также несколько строк данных извлекаются через Hibernate. Hibernate-часть является наиболее подверженной ошибкам частью всего приложения, после тайм-аута эти наборы также необходимо перезагружать. Есть ли способ сохранить Hibernate-Session?
Спасибо за помощь!