Как реализовать выход из системы в приложении Struts - PullRequest
1 голос
/ 12 ноября 2009

У меня есть приложение J2EE, в котором выход не реализован должным образом, я намерен закрыть все ресурсы БД после выхода пользователя из системы. Не уверен, если session.invalidate (); очень поможет, попробую сегодня. Посоветуйте, пожалуйста, как лучше всего осуществить выход из системы, чтобы все ценные ресурсы высвобождались после выхода пользователя из системы.

Ответы [ 2 ]

1 голос
/ 12 ноября 2009

я намерен закрыть все ресурсы БД после выхода пользователя из системы

Это уже признак плохой практики. Ресурсы БД должны быть получены и закрыты в кратчайшей возможной области, то есть внутри того же самого блока метода. Вы можете никогда не получить ресурс БД (Connection, Statement и / или ResultSet) в качестве статической переменной или переменной экземпляра. Это квитанция об утечке ресурсов и более серьезные проблемы.

Если исходное намерение состоит в том, чтобы улучшить производительность соединения, вам необходимо ввести пул соединений. Имейте в виду, что это не повод держать открытыми соединения самостоятельно . Просто получите и закройте их как можно скорее, сама реализация пула соединений будет беспокоиться о фактическом закрытии соединения или освобождении его обратно в пул. Это все полностью прозрачно. Достойные серверы приложений поставляются с возможностями создания пула соединений во вкусе источников данных JNDI. Используйте это. После этого вам не нужно беспокоиться ни об открытых ресурсах БД, ни о производительности.

0 голосов
/ 12 ноября 2009

Пожалуйста, сделайте как

  1. Используйте ваше соединение и другие классы базы данных для удаления ресурсов БД.
  2. Очистить сеанс с использованием объекта сеанса.
  3. Проверьте файл cookie, созданный вами в приложении, и удалите все необходимые файлы.
...