Configuración de Hikari en Spring Boot
En esta entrada sobre Configuración de Hikari en Spring Boot, vamos a ver la implementación que nos proporciona Hikari para poder configurar y parametrizar nuestro pool de conexión a Bases de Datos.
¿Qué es Hikari?
Hikari nos ofrece una implementación JDBC que nos proporciona un pool de conexiones a nuestra Base de Datos. Su principal diferencia con otras implmentaciones que nos podemos encontrar, a parte de estar totalmente integrado con Spring, ofrece mucho mejor rendimiento y es mucho más ligero.
Si quieres echar un vistazo a su proyecto lo puedes hacer en su github.
Configuración de Hikari en una aplicación Spring Boot
Como hemos dicho anteriormente Hikari se encuentra totalmente integrado con las aplicaciones Spring Boot. Obviamente la versión de Hikari dependerá de la versión de tu Parent de Spring Boot, pero si aún así quieres la última versión de Hikari la puedes añadir como dependencia en tu pom.xml.
Para añadir y sobreescribir la versión de Hikari por defecto simplemente se añade:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${version}</version> </dependency>
Modificando los parámetros de configuración de Hikari en una aplicación Spring Boot
Hikari nos ofrece una serie de valores por defecto que deberían ser suficientes para casi cualquier aplicación, pero si aún así necesitas modificar esos valores para adaptarlos a tu conexión, vamos a ver lo que nos ofrece hikari:
Propiedad ConnectionTimeout de Hikari
Esta propiedad nos indica el número máximo de milisegundos que el servicio puede esperar a obtener una conexión por defecto 30 segundos.
spring.datasource.hikari.connection-timeout: 20000
Propiedad minimumIdle en Hikari
La propiedade minimumIdle de Hikari es el número mínimo de conexiones inactivas que se puede mantener en el Pool de conexiones. El número por defecto es 10.
spring.datasource.hikari.minimum-idle: 15
MaxLifetime como propiedad de Hikari
La propiedad maxLifetime de Hikari nos ofrece el timpo en milisegundos de vida útil después que se cierra una conexión. Ten cuidado de no establecer un tiempo muy alto.
spring.datasource.hikari.max-lifetime: 120000
Propiedad maximumPoolSize de Hikari
La propiedad de maximumPoolSize nos indica el tamaño máximo que vamos a tener en el pool de conexiones. El valor por defecto es 10.
spring.datasource.hikari.maximum-pool-size: 7
Configuración del idleTimeout en Hikari
La configuración de idleTimeout es el tiempo máximo que vamos a permitir que una conexión este inactiva en el grupo de conexiones.
spring.datasource.hikari.idle-timeout: 300000
Propiedad autoCommit de Hikari
Esta propiedad establece confirmación automática de las conexiones que son devueltas al Pool de conexiones. En el caso en el que no se modifique tendrá un valor por defecto de TRUE.
spring.datasource.hikari.auto-commit: false
Ten en cuenta que se puede hacer uso de – o de mayúsculas.
Conclusión
En este artículo hemos visto como hacer uso de la configuración de Hikari en Spring Boot, viendo los diferentes valores y parámetros que podemos configurar.
Si quieres aplicar esta configuración a una aplicación con Spring Data con conexión a PostgreSql puedes echar un vistazo en nuestro github o en el artículo.
Si necesitas más información puedes escribirnos un comentario o un correo electrónico a refactorizando.web@gmail.com o también nos puedes contactar por nuestras redes sociales Facebook o twitter y te ayudaremos encantados!