2009-03-30 18 views
7

La fuente de datos de Oracle devuelve la conexión nula cuando la solicitud de no de conexión es mayor. Tengo la memoria caché de implict habilitada. Las especificaciones de Oracle dicen que se devuelve null. Solo se establece ConnectionWaitTimeout. No tengo un valor establecido para ConnectionWaitTimeout en las propiedades de caché.Oracle Datasource devolver conexión nula

Esto es lo que dice acerca de la especificación

ConnectionWaitTimeout

Especifica el comportamiento de la memoria caché cuando se solicita una conexión y ya hay MAXLIMIT conexiones activas. Si ConnectionWaitTimeout es mayor que cero, cada solicitud de conexión espera el número especificado de segundos o hasta que se devuelva una conexión a la caché. Si no se devuelve ninguna conexión a la memoria caché antes de que transcurra el tiempo de espera, la solicitud de conexión devuelve nulo.

por defecto: 0 (sin tiempo de espera)

¿Cuáles son otros possiblies donde el origen de datos podría devolver una conexión nula?

Respuesta

2

Creo que el valor predeterminado puede variar según la versión de Oracle que esté utilizando. Parte de la información es contradictoria, p. Oracles "Optimizing Connection Pool Behavior" implica que el valor predeterminado es de 3 segundos (11 g?) Mientras que otras fuentes afirman que es cero como se menciona en la pregunta.

Sugeriría establecer explícitamente en cero y ver si el comportamiento todavía se manifiesta.

0

Intenté establecer este valor. Aunque los documentos dicen que el valor predeterminado no es el tiempo de espera, cuando no estaba configurando esta propiedad, el origen de datos devolvía nulo. Cuando especificaba explícitamente un valor que la conexión estaba esperando, incluso el valor a 0 me daba una conexión nula.

Cuestiones relacionadas