Согласно моему пониманию, прокладывает себе путь Объединение соединения JDBC (на базовом уровне):
Но, каждый раз, когда я слышу термин "соединение повторного использования" в обсуждении Объединения соединения JDBC, я запутываюсь. То, когда делает повторное использование соединения, происходит?
Это означает, что Пул Соединения обеспечивает то же соединение для двух различных взаимодействий базы данных (не закрывая его)? Или, существует ли способ продолжить использовать соединение даже после того, как он будет закрыт после вызова DB?
Пул соединений работает путем повторного использования соединений. Приложения «заимствуют» соединение из пула, а затем «возвращают» его по завершении. Затем соединение снова передается другой части приложения или даже другому приложению.
Это совершенно безопасно, если одно и то же соединение не используется двумя потоками одновременно.
Ключевой момент при создании пула соединений - избегать создания новых соединений там, где это возможно, поскольку обычно это дорогостоящая операция. Повторное использование соединений имеет решающее значение для производительности.
Пул соединений не предоставляет вам фактический экземпляр соединения из драйвера, но возвращает обертку. Когда вы вызываете close () для экземпляра соединения из пула, он не закрывает соединение драйвера, а вместо этого просто возвращает открытое соединение в пул, чтобы его можно было повторно использовать (см. Ответ скаффмана).