J'ai une application qui utilise le regroupement de connexions pour obtenir une connexion à une base de données à partir d'une base de données Oracle9i version 9.2.0.4. L'application est hébergée dans SJSAS 8.1 et le pilote est ojdbc14.jar
version 10.1.0.4.Problème de délai d'attente JDBC getConnection
Le problème que j'ai est datasource.getConnection()
méthode prend environ 40 secondes pour lancer une exception lorsque la DB est en panne! Cela provoque une surcharge de l'application pendant une panne de DB. J'ai essayé de définir LoginTimeout=8
avec la source de données mais cela n'a aucun effet.
S'il vous plaît voir ci-dessous la source de données que je utilise
<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>
Quelqu'un peut-il s'il vous plaît aider? J'ai besoin de la méthode getConnection()
pour expirer dans le délai imparti.
La question concerne la 'panne de la base de données'. Cela rend toute votre réponse non pertinente. – EJP
C'est pertinent. Les 3 premiers points sont tout ce que vous faites côté client et non DB. Il s'agit d'accélérer le délai d'attente du client. – mamboking