5 ответов:
база данных подключение объединение в пул-это метод, используемый для сохранения открытых соединений с базой данных, чтобы их можно было повторно использовать другими.
как правило, открытие соединения с базой данных является дорогостоящей операцией, особенно если база данных удалена. Вы должны открыть сетевые сеансы, пройти аутентификацию, проверить авторизацию и так далее. Объединение в пул сохраняет соединения активными, так что при последующем запросе соединения один из активных соединений используется вместо необходимости создайте еще один.
см. следующую диаграмму для следующих нескольких абзацев:
+---------+ | | | Clients | +---------+ | | |-+ (1) +------+ (3) +----------+ | Clients | ===#===> | Open | =======> | RealOpen | | | | +------+ +----------+ +---------+ | ^ | | (2) | /------\ | | Pool | | \------/ (4) | ^ | | (5) | +-------+ (6) +-----------+ #===> | Close | ======> | RealClose | +-------+ +-----------+в самой простой форме это просто аналогичный вызов API (1) для вызова API с открытым соединением, который похож на "реальный". Это сначала проверяет пул на наличие подходящего соединения (2) и, если оно доступно, это предоставляется клиенту. В противном случае создается новый (3).
аналогично, есть близкий вызов API (4), который на самом деле не вызывает real close-connection, а он помещает соединение в пул (5) для последующего использования. В какой-то момент соединения в пуле могут быть на самом деле закрытые (6).
Это довольно упрощенное объяснение. Реальные реализации могут обрабатывать соединения с несколькими серверами и несколькими учетными записями пользователей, они могут предварительно выделять некоторые базовые соединения, поэтому некоторые из них готовы немедленно, и они могут фактически закрывать старые соединения при использовании шаблона затихает.
вы можете использовать библиотеку Apache commons Для реализации пула соединений прозрачно:http://commons.apache.org/dbcp/
DBCP также поддерживает пул гибернации:http://www.informit.com/articles/article.aspx?p=353736&seqNum=4
концепция пул соединений не только в Java, но и во многих языках программирования. Создание нового объекта подключения является дорогостоящим, поэтому фиксированное количество подключений создается и поддерживается в жизненном цикле создание виртуального пула Java Just ( http://javajust.com/javaques.html) смотрите Вопрос 14 на этой странице
Как следует из названия. Если несколько человек хотят плавать, они могут плавать в одном и том же бассейне, действительно ли имеет смысл строить новый бассейн каждый раз, когда кто-то добавляет ? Время и стоимость является приоритетом.

Comments