Насколько точно истекает сеанс websphere? - PullRequest
2 голосов
/ 17 января 2020

Мы написали некоторый код jquery и java для поддержки передачи клиенту сообщения ie с ожидаемым временем окончания сеанса, которое затем запрашивает пользователя за две минуты, прежде чем дать ему возможность продлить сеанс. Если они не успеют сделать это вовремя, они будут перенаправлены при следующем нажатии кнопки на целевую страницу.

Прекрасно работает ... большую часть времени. Время от времени тестер, пытающийся проверить это, будет ждать 4 минуты после появления приглашения, нажимая кнопку только, чтобы обнаружить, что его сеанс все еще жив, несмотря на ожидание на 2 полных дополнительных минуты дольше, чем нужно было для сеанса до ie.

Является ли spe c точно не таким, когда истекает сессия? Должны ли мы отмахиваться от этого, как не имеет большого значения? мы используем websphere ibm в качестве сервера приложений.

Ответы [ 2 ]

1 голос
/ 17 января 2020

В WebSphere есть параметр HttpSessionReaperPollInterval, который управляет этим поведением.

Используйте это свойство, чтобы указать в секундах интервал пробуждения для процесса, удаляющего недопустимые сеансы. Значение, указанное для этого свойства, переопределяет значение установки по умолчанию, которое составляет от 30 до 360 секунд, и гарантирует, что процесс повторного запуска будет выполняться с заданным интервалом c.

https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/rprs_custom_properties.html

Несмотря на то, что свойство может быть отрегулировано, изменение значения по умолчанию в вашем сценарии, возможно, не имеет смысла.

1 голос
/ 17 января 2020

Я полагаю, вы установили время истечения сеанса на сервере на две минуты. То есть, не время приготовления повара ie.

Сеанс должен истечь через две минуты. Однако сессия может вернуться живой (но пустой) после истечения срока действия, если приложение (кнопка нажатия) вызвало getSession (true) вместо getSession (false).

Если это не так, вы можете включить трассировку сеанса: com.ibm.ws.session. * = All

...