Федор Сазонов, Илья Сазонов — От антипаттерна к инструменту: скрытая польза открытой сессии
Автор: JPoint, Joker и JUG ru — Java-конференции
Загружено: 2026-02-11
Просмотров: 981
Описание:
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Скачать презентацию с сайта — https://jrg.su/qrR45z
Нам хотелось бы обсудить один вопрос разработки на Spring в связке c JPA.
Одна из самых распространенных проблем производительности здесь — это исчерпание коннекшен пула.
Но как это ни странно, единственный способ управлять жизненным циклом соединения в Spring — это аннотация @Transactional. Ее применение автоматически приводит сразу к трем действиям.
1. Создание EntityManager.
2. Резервирование соединения в коннекшн пуле.
3. Старт физической транзакции в БД.
Единственный способ средствами фреймворка сделать разделяемую сессию (то есть EntityManager) без создания транзакции — это OSIV, что признано антипаттерном большинством специалистов. Получается, что проблема исчерпания соединений в связке Spring с JPA есть, а инструментов для тонкого контроля коннекшенов нет.
Если есть такие абстракции, как сессия, соединения и транзакция, странно, что ими нельзя управлять по отдельности. Мы расскажем, как это исправить.
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: