Pregunta

Como utilizar el TimeToLiveConnectionTimeoutCallback dentro de Oracle UCP (Universal Connection Pool)?

Yo esperaría que o bien el PoolDataSource o la UniversalConnectionPoolManager tiene una interfaz para registrar una devolución de llamada tales. Y esperaría que este tipo de interfaz pasaría la conexión en cuestión por la interfaz. Tampoco es cierto.

Parece que tengo que registrar una TimeToLiveConnectionTimeoutCallback individual a cada UniversalPooledConnection que me parece complicado, feo (un montón de UCP código de importaciones / pegamento) y difícil crear un contenedor (origen de datos).

O qué me pasa algo? Desafortunadamente la documentación permanece en silencio.

¿Fue útil?

Solución

Después de pasar algún tiempo, me di cuenta de que mi suposición es cierta. Tengo que registrar una devolución de llamada a cada Connection de una manera difícil y unelegant.

También abrió un solicitud de soporte de Oracle que confirmó esto:

vacío registerTimeToLiveConnectionTimeoutCallback (TimeToLiveConnectionTimeoutCallback cbk) throws java.sql.SQLException

registra una conexión de tiempo de vida tiempo de espera de respuesta con una conexión.

El objeto de devolución de llamada se ha registrado cada conexión agrupada. Es un error registrar más de 1 TimeToLiveConnectionTimeoutCallbacks en la misma conexión, o que otra cosa obtendrá una excepción.

Como se ha mencionado en el mismo, la devolución de llamada objeto se ha registrado en CADA agrupada conexión.

Debido a algunos otros insectos y / o defectos de diseño (por supuesto, esta última podría ser subjetiva) Decidí no UCP dentro de mi proyecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top