Закрывается ли соединение с базой данных, если пользователь покидает страницу в JSF? - PullRequest
1 голос
/ 25 октября 2011

Я создаю веб-приложение с использованием Java Server Faces (JSF). Мне просто интересно, если соединение с базой данных открыто, и пользователь покидает веб-страницу (закрывает браузер), JSF автоматически закрывает это соединение?

Ответы [ 3 ]

3 голосов
/ 25 октября 2011

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

Единственное место, где вы можете закрыть его, - это код Java перед созданием ответа HTTP.

1 голос
/ 25 октября 2011

Вы должны закрыть соединение с базой данных сразу после получения ваших данных для отправки обратно клиенту - ПЕРЕД отправкой их обратно клиенту. Лучше всего сделать это в finally блоке. Нет никакой реальной причины держать это открытым, но это не только приводит к потенциальной утечке памяти, но также и большой риск безопасности.

0 голосов
/ 26 октября 2011

Соединение с базой данных закрывается, если вы его закрываете, или пул соединений, если он закрывается, или происходит сбор мусора.

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