Должны ли значения, хранящиеся в сеансе Tomcat, иметь значение NULL при уничтожении сеанса? - PullRequest
2 голосов
/ 10 июня 2010

Должны ли значения, хранящиеся в сеансе Tomcat, иметь значение NULL, когда сеанс уничтожается?Или они автоматически уничтожаются?

У нас была проблема с несколькими файлами .ser в папке tomcat.Может ли это быть из-за того, что мы не устанавливаем значения, сохраненные в сеансе, равными нулю после их использования?

Ответы [ 2 ]

2 голосов
/ 10 июня 2010

Должны ли значения, хранящиеся в сеансе Tomcat, иметь значение NULL, когда сеанс уничтожается? Или они автоматически уничтожаются?

Когда сеанс будет признан недействительным, его атрибуты будут просто разыменованы . Когда на них не ссылается какой-либо другой объект, они будут иметь право на GC. Когда GC запустится, они будут уничтожены, да.

У нас была проблема с несколькими файлами .ser в папке tomcat. Может ли это быть из-за того, что мы не устанавливаем значения, хранящиеся в сеансе, в null после их использования?

Нет. Это звучит так, как будто Tomcat потерпел крах при запуске или завершении работы. Я бы прочитал журналы.

1 голос
/ 10 июня 2010

Когда сеанс уничтожается, любые содержащиеся в сеансе объекты также уничтожаются (то есть мусор собирается, если сеанс является единственным, удерживающим их). Вам не нужно устанавливать их в null после использования.

Tomcat имеет функцию сериализации сеансов при завершении работы и попытки их повторной активации при запуске, которая называется restart persistance . Вы имеете в виду это? Если это вызывает у вас проблемы, его можно отключить (см. Атрибуты реализации стандартного менеджера в том же документе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...