Configuración Pool de conexiones del Tomcat con Spring

Hola a todos, hace unos días se me presento un problema y la causa me condujo a que el pool de conexiones estaba configurado de manera irregular, pero dirán ustedes un pool de conexiones tiene muchas formas de configurarse y no existe un estándar y están en todo lo correcto, sin embargo voy a colocar una forma que puede servir para cuando tengan problemas de congestión en las conexiones a la base de datos por medio de un tomcat. Antes de comenzar les dejo un link que les va a ayudar mucho a tener las propiedades que más se acomoden a cada necesidad:

http://people.apache.org/~fhanik/tomcat/jdbc-pool.html

En ese link encontraran todas las propiedades que tiene el pool de conexiones de Apache Tomcat, ahora si el ejemplo que coloco a continuación esta diseñado en un bean debido a que últimamente trabajo con Spring Framework, pero lo más importante es visualizar las propiedades que utilice:

<bean id="connectionPooledDataSource" class="org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS">
       <property name="driver" value="org.postgresql.Driver"/>
       <property name="url" value="jdbc:postgresql://${database.host}:${database.port}/${database.name}?autoReconnect=true"/>
<property name="user" value="database.user"/>
       <property name="password" value="database.password"/>
    </bean>
    <bean id="dataSource" class="org.apache.commons.dbcp.datasources.SharedPoolDataSource" destroy-method="close">
       <property name="connectionPoolDataSource" ref="connectionPooledDataSource"/>
       <property name="maxActive" value="15"/>
       <property name="maxWait" value="3000"/>
       <property name="maxIdle" value="7"/>
       <property name="testOnBorrow" value="true"/>
       <property name="validationQuery" value="SELECT 1"/>
    </bean>

Si de casualidad usa es MsSQL server entonces se coloca el autoreconnect de la siguiente forma:

<property name="url" value="jdbc:jtds:sqlserver://${database.host}:${database.port}/${database.name};autoReconnect=true"/>

Como dije anteriormente, este es solo un ejemplo que pueda servirles más no es la única forma de configurar un pool ya que por eso coloque el link del tomcat donde se menciona todas las propiedades que se pueden usar.

Espero que les haya servido y hasta una próxima oportunidad.



Comentarios

  1. ola el problema que te dio cual era por que a mi me da error a la hora de desplegarlo en centos como jar
    el error que me da es 12:21:07.965 [ERROR] [ main] [ ConnectionPool:181] - Unable to create initial connections of pool.
    org.postgresql.util.PSQLException: A connection could not be made using the requested protocol null.


    ResponderEliminar
    Respuestas
    1. Hola, el problema era referente a conexiones que no se cerraban...por el error que mencionas es porque la configuración que tienen en el Postgres esta mal.

      Eliminar

Publicar un comentario