2013-09-17 4 views
2

У меня возникла проблема с закрытием сеанса спящего режима, проблема заключается в следующем: Пользовательский интерфейс (реализованный с использованием JSF2.1) зависает после выполнения нескольких действий, вызванных пустым запросом. Причиной проблемы является спящий сеанс не закрывается после выполнения каких-либо действий с базой данныхСтранное поведение при закрытии сеанса спящего режима

Так что мой вопрос, почему произошло это повешение? почему пустой запрос? Я думаю, что когда что-то подобное произойдет, исключение будет похоже на то, что IllegalStateException будет сбрасываться с помощью hibernate API, чтобы сказать вам, что «у вас открыто много сеансов»?

+0

Вы имеете в виду действие, подающее форму дважды? – erencan

+0

Нет, его отправить его один раз, но когда вы повторяете действие много раз, когда оно застревает при открытии firebug из firefox, вы увидите, что пустой запрос отправляется каждый раз, когда вы делаете какие-либо действия в UI. – user2269148

+0

. Известна проблема с двойным щелчком, но ваша проблема кажется иной. Можете ли вы опубликовать код? Страница Юра может быть не отформатирована. – erencan

ответ

6

Когда вы не закрываете сеансы Hibernate и, следовательно, не выпускаете JDBC-соединения, у вас есть то, что обычно называется Ошибка подключения. Таким образом, после нескольких запросов (в зависимости от размера пула соединений) сервер не сможет получить соединение для ответа на ваш запрос. На самом деле, сервер будет ждать, когда соединения будут выпущены и снова будут доступны в пуле, и, похоже, он будет висит.

Смежные вопросы