В проекте Java я использую банку ojdbc6
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
<scope>compile</scope>
</dependenc>
Первый раз за день, который я запускаю, dataSource.getConnection () работает быстро. Второй раз обычно хорошо. Следующие несколько раз занимают около 45 секунд. После этого это займет несколько минут. Как только у меня запускается ПЕРВОЕ соединение данного приложения, все новые соединения, которые я получаю, очень-очень быстрые. Эта задержка получает только ПЕРВОЕ соединение для данного прогона.
Что делает мое первое соединение таким медленным?
Я смотрю netstat и не вижу зависания соединения после успешного запуска. Попробовал несколько разных пулов соединений ( DBCP, C3PO ) без удачи. При отладке через исходный код задержка составляет 100% в строке org.springframework.jdbc.datasource.DataSourceUtils :
Connection con = dataSource.getConnection();
Есть идеи?
Отредактировано для более подробной информации
1) Я использую пул соединений (DBCP или C3PO), который сохраняет соединения для будущего использования. Когда я говорю о получении нового соединения, я имею в виду, когда первое соединение используется .. Мне нужно пойти в БД и получить новое соединение. Конечно, я могу вернуться и получить одно и то же соединение из пула соединений снова и снова. Но получение секунды одновременно также быстро.
2) Я не знаю, сколько соединений моя БД позволяет мне войти в систему. Любая идея, где это свойство в оракуле?