#database #jdbc #database-connection #connection-pooling #transaction-isolation
#База данных #jdbc #database-connection #объединение в пул соединений #транзакция-изоляция
Вопрос:
Я немного смущен отношениями между
- Открытый сеанс базы данных
- Объединение в пул соединений
Чтобы уточнить, я использую JDBC с Oracle 9i DB, и я также использую пул соединений для объединения своих подключений.
Что я хотел бы знать, так это то, что: когда мои соединения простаивают в пуле, связаны ли они с какой-либо Open Session
базой данных? Итак, если у меня 5 незанятых подключений в пуле, означает ли это, что будет открыто 5 соответствующих активных сеансов с моей базой данных?
Ответ №1:
Хорошо .. Я получил некоторый ответ с других форумов:
Это полностью зависит от реализации пула. Кажется вероятным, что они некоторое время связаны с открытым сеансом, а затем сеансы закрываются, если соединения не используются в течение некоторого времени, и восстанавливаются, когда они снова понадобятся.
Не поддерживать их открытыми в течение некоторого времени означало бы тратить служебные данные на установление соединений, когда запросы поступают в быстром режиме. Сохранение их открытыми вечно привело бы к ограничению ресурсов без уважительной причины. Оба они идут вразрез с моим пониманием самого смысла наличия пула соединений в первую очередь.