Как я понимаю, JDBC Connection Pooling (на базовом уровне) работает следующим образом:
- создавать соединения во время инициализации приложения и помещать в кеш
- предоставлять эти кэшированные подключения по требованию к приложению
- отдельный поток поддерживает пул соединений, выполняя такие действия, как:
- отменить соединения, которые были использованы (закрыты)
- создавать новые подключения и добавлять кэш для поддержки определенного количества подключений
Но, когда я слышу термин "повторное использование соединения" в обсуждении пула соединений JDBC, я запутываюсь. Когда происходит повторное использование соединения?
Означает ли это, что пул соединений обеспечивает одно и то же соединение для двух разных взаимодействий с базой данных (без его закрытия)? Или, есть ли способ продолжить использование соединения даже после того, как он закрывается после вызова БД?