У меня есть приложение, которое использует пул соединений для получения соединения с базой данных из базы данных Oracle9i версии 9.2.0.4. Приложение размещено в SJSAS 8.1, а драйвер - ojdbc14.jar
версия 10.1.0.4.
Проблема, с которой я столкнулся, заключается в том, что datasource.getConnection()
метод занимает около 40 секунд, чтобы вызвать исключение, когда БД не работает! Это вызывает перегрузку приложения во время простоя БД. Я попытался установить LoginTimeout=8
с источником данных, но это не имеет никакого эффекта.
См. Ниже источник данных, который я использую
<jdbc-connection-pool connection-validation-method="table"
datasource-classname="oracle.jdbc.pool.OracleDataSource"
fail-all-connections="true"
idle-time out-in-seconds="600"
is-connection-validation-required="true"
is-isolation-level-guaranteed="false"
max-pool-size="100"
max-wait-time-in-millis="8000"
name="mydb"
pool-resize-quantity="80"
res-type="javax.sql.DataSource"
steady-pool-size="20"
validation-table-name="dual">
<property name="url" value="jdbc:oracle:thin:@server1:1521:mydb"/>
<property name="user" value="user1"/>
<property name="LoginTimeout" value="8"/>
<property name="password" value="pass1"/>
</jdbc-connection-pool>
Может ли кто-нибудь помочь, пожалуйста? Мне нужен метод getConnection()
для тайм-аута с указанным тайм-аутом.