configurar-un-pool-de-conexiones

Cómo configurar un Pool de conexiones en Apache Tomcat y configurar recurso JNDI

Hola que tal, en esta entrada vamos aprender como configurar un Pool de conexiones en Apache Tomcat y hacer un test de conexión desde una aplicación en Java, utilizando una configuración JNDI.

Hasta ahora hemos realizado algunas prácticas de como conectarse a MySQL, como por ejemplo: Cómo conectarse a MySQL desde Java, Operaciones CRUD utilizando el patrón DAO utilizando la clase DriverManager.getConnection(), y esto funciona correctamente, pero no es recomendable utilizarla en entornos de producción donde el  número de usuarios es alto. Ya que el elevado consumo de memoria que se da a la hora de crear y cerrar conexiones limita el rendimiento del servidor.

Que es un Pool de conexiones?

Un pool de conexiones, son un conjunto de conexiones a la base de datos que se encuentran listas para ser usadas y que son administradas por el servidor de aplicaciones.

Cómo funciona?

Básicamente lo que se consigue con esto es la reutilización de conexiones existentes y consiste en que el servidor de aplicaciones se encarga de gestionar todas las conexiones a la base de datos, verifica cuales están abiertas, cuales están inactivas (aquellas que ya no se están utilizando) y de acuerdo a esto asigna esas conexiones a nuevos usuarios que se quieren conectar a la base de datos, evitando cerrar y crear una nueva conexión, ya que esto supone mayor consumo tanto de memoria como de procesamiento en el servidor.

Nota: Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web, con JSP, Servlet y JPA donde aprenderás paso a paso como desarrollar aplicaciones web con Java.

Cómo configurar un Pool de conexiones en Apache Tomcat

Para configurar un Pool de conexiones en Apache Tomcat lo primero que vamos hacer es editar el archivo context.xml, este archivo se encuentra dentro de Eclipse, junto con las carpetas de los proyectos, dentro de la carpeta Servers.

como configurar un Pool de conexiones en Apache Tomcat

El fragmento de código que debes añadir dentro del archivo context.xml es el siguiente, a propósito a esta configuración se la conoce también como fuente de datos, entre algunos parámetros define el número de máximo de conexiones, tiempo en el que una conexión se debe mantener inactiva, usuario de la base de datos, clave, puerto, servidor, la lista de parámetros completa la encuentras en el sitio oficial de Apache BasicDataSource Configuration Parameters.

Las que vas a modificar son las siguientes:

  • name: Es el nombre con el que se identifica el recurso, cuando utilices la conexión dentro del código.
  • username: Debe ir el nombre del usuario de la base de datos.
  • password: Password correspondiente al usuario de la base de datos.
  • url: Define el servidor, el puerto y la base de datos a la que se conectará, para el ejemplo se llama escuela, este parámetro debe ser modificado de acuerdo al nombre de tu base de datos, para este ejemplo el nombre de mi base de datos se llama escuela.

Estructura del proyecto

como configurar un Pool de conexiones en Apache Tomcat

Recuerda que la versión del Dynamic Web Project debe ser 2.5, además que debes añadir el driver de conexión para MySQL puesto que vamos hacer una consulta a la base de datos.

Luego dentro de tu proyecto en el archivo web.xml debes añadir lo siguiente:

En el parámetro <description> puede ser cualquier nombre, en el parámetro <res-ref-name> debe ir el mismo nombre declarado en el parámetro name del archivo context.xml.

Si quieres te interesa el tema de programación Web con Java puedes revisar los siguientes enlaces:

Implementado una consulta de datos a través de JNDI

Este es el Script que debes ejecutar para la creación de la base de datos y la tabla de la cual vamos hacer una consulta.

Primero declaras las siguientes variables, las mismas que permiten obtener la conexión.

Dentro del servlet añades el siguiente código, este código permite a través de lo que se llama JNDI utilizar el Pool de Conexiones para realizar sentencias SQL sobre la base de datos:

Creando una consulta a la base de datos

Antes que nada recordarte que antes de crear la consulta debiste ejecutar el script  sql anterior, en cuánto a la consulta, es el mismo formato que se ha venido utilizando en otros tutoriales.

A continuación dejo el código completo del servlet.

La presentación queda de la siguiente manera:

como configurar un Pool de conexiones en Apache Tomcat

Nota: Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web, con JSP, Servlet y JPA donde aprenderás paso a paso como desarrollar aplicaciones web con Java.

Si deseas profundizar en el tema puedes visitar el sitio oficial de Apache Tomcat donde encontrarás información más a detalle JNDI Datasource HOW-TO.

Opt In Image
Programación Web Full Stack
Suscríbete ahora y recibe los mejores contenidos sobre Programación Web en tu correo.

Tus datos estarán protegidos y 100% libre de Spam

Full Stack Developer, JavaScript, PHP, Java, Spring, Laravel, Vuejs, Blogger, aprendiendo y compartiendo conocimientos. Cursos de Programación Web en: https://programacionfullstack.com/

Artículos Recomendados

2 Thoughts to “Como configurar un pool de conexiones en Apache Tomcat”

  1. Hola, la presentación donde se debe mostrar

    1. Hola Cardona, en este caso únicamente lo hago por consola. Para presentarlo en un vista tendrías que añadir una página JSP y redireccionar desde el servlet a esa página donde deseas mostrar tus datos. Si deseas te puedes pasar por otro artículo Crud en JSP y servlet que te puede dar una referencia de como hacer la presentación en una página JSP.

Dejar un Comentario