Если у нас есть веб-приложение с
- тяжелый интерфейс (Spring MVC + JQuery с JSON)
- Hibernate с JPA-аннотациями, являющимися моделью домена
- expand Spring -provided DAO для кодирования слоя DAO
- JBOSS - сервер приложений с Oracle как бэкэнд
- Пул соединений на основе источника данных (JNDI) (не XA, а локальный источник данных)
- также имеет доступ к нескольким источникам данных (с несколькими БД).
Поведенчески большая часть поиска данных (70%) и обновление данных составляют 30%
Каковы были бы лучшие методы для следующего, чтобы эффективно потреблять связи БД, а также видеть, что при подключении нет большой утечки?
- было бы лучше выбрать DAO на основе Hibernate?
- Какой диспетчер транзакций будет предлагать, и мы должны пойти на управление транзакциями на основе AOPWhere
- где необходимо создать сеанс и где закрыть сеансы для эффективного использования соединений из пула соединений.
- Верно, что нам нужно обрабатывать транзакции с уровня Service, но что происходит с сеансами, они будут ждать более длительного времени (мы не используем какой-либо openessioninviewFilter)
- в каком слое лучше обрабатывать проверенные исключения (бизнес-исключения) и исключения времени выполнения.
Извините, что это вопрос более длинный, но я вижу, что это обычный запрос, и я попытался его консолидировать. Цените свое терпение и руководство. Спасибо за вашу помощь.