hibernate - инструмент мониторинга сессии - PullRequest
4 голосов
/ 23 декабря 2009

скажите, пожалуйста, есть ли anytool для мониторинга сессий Hibernate в случае утечки сеанса

Спасибо.

1 Ответ

5 голосов
/ 23 декабря 2009

Вы можете включить статистику Hibernate для просмотра количества открытых и закрытых сессий: hibernateConfiguration.setProperty(Environment.GENERATE_STATISTICS, "true") Затем используйте SessionFactory.getStatistics() для просмотра открытых и закрытых сессий. Это должно сказать вам, если вы пропускаете сеансы.

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

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