Después de mucho batallar pudimos encontrar el resultado de este rompecabezas que muchos los lectores de nuestro espacio tienen. Si quieres compartir algún dato no dejes de dejar tu conocimiento.
Solución:
¡Qué lectura más cuidadosa y legal!
pero no, no es correcto.
hay varias formas en que una Conexión puede morir. como usted cita:
Los grupos c3p0… se reducen si las conexiones fallan en una prueba de conexión o caducan a través de los parámetros descritos anteriormente.
los “parámetros descritos anteriormente” incluyen maxConnectionAge
, maxIdleTime
y maxIdleTimeExcessConnections
. Las conexiones también se pueden eliminar del grupo porque fallan las pruebas de conexión mientras están inactivas (consulte idleConnectionTestPeriod
), porque fallan las pruebas en el check-in o en el check-out (testConnectionOnCheckin
, testConnectionOnCheckout
), o porque fallan las pruebas desencadenadas por una excepción en el curso del uso del cliente.
sin embargo una piscina se encoge, minPoolSize
importa, porque si la piscina se encoge por debajo minPoolSize
Conexiones destruidas será reemplazado Hasta que minPoolSize
está restaurado.
que tiene de especial maxIdleTimeExcessConnections
es que su comportamiento depende directamente del tamaño del grupo en relación con minPoolSize
. todos los demás parámetros y pruebas simplemente hacen lo suyo. si sucede que su cosa lleva la piscina a algo más bajo que minPoolSize
entonces c3p0 traerá automáticamente el grupo de vuelta a minPoolSize
. pero maxIdleTimeExcessConnections
es diferente. solo tiene efecto cuando la piscina es más grande que minPoolSize
.
como usted dice, maxIdleTimeExcessConnections
es una característica avanzada. la mayoría de los usuarios nunca y nunca necesitan usarlo. se agregó porque algunos usuarios querían obligar agresivamente a los grupos a reducirse a minPoolSize, pero al hacerlo con un incondicional muy corto maxIdleTime
hace que las Conexiones se agiten innecesariamente, ya que las Conexiones incluso en un minPoolSize
la piscina vencen y se reemplazan constantemente. estableciendo un largo o inexistente maxIdleTime
mientras establece un corto maxIdleTimeExcessConnections
produce el resultado deseado de una reducción rápida y agresiva sin agitar las conexiones una vez que el grupo llega minPoolSize
.
pero incluso sin maxIdleTimeExcessConnections
establecer, minPoolSize
importa mucho Las conexiones se destruyen y eliminan del grupo, y minPoolSize
determina un umbral por debajo del cual las conexiones destruidas se reemplazarán automáticamente, incluso si no llega una carga de clientes que provoque la expansión del grupo.
¡Espero que esto tenga sentido!
Puntuaciones y reseñas
Tienes la opción de asistir nuestra faena exponiendo un comentario o valorándolo te damos la bienvenida.