Ir al contenido principal

Configuración de DataSources en TomEE

Configuración de DataSources en TomEE usando system.properties

Cuando desplegamos aplicaciones en TomEE (Tomcat con extensiones Java EE), es habitual usar DataSources gestionados por el contenedor. Esto permite:

  • Manejar pools de conexiones automáticamente.
  • Evitar hardcodear credenciales en el código.
  • Reusar conexiones entre diferentes aplicaciones.

En este post nos centraremos en configuración en TomEE/Tomcat.

1. Descargar el driver JDBC

Antes de que TomEE pueda conectarse a la base de datos, necesitamos el driver correspondiente. Por ejemplo, para PostgreSQL:

cd /tmp
wget https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
sudo cp /tmp/postgresql-42.5.4.jar /srv/tomee/lib/

Qué hacemos:

  • `wget` descarga el driver JDBC.
  • Se copia al directorio `lib` de TomEE para que todas las aplicaciones puedan usarlo.

2. Configurar DataSources en system.properties

TomEE permite definir múltiples DataSources en un único archivo `system.properties` ubicado en conf/. Esto centraliza la configuración y permite reutilizar pools de conexiones.

# ============================================================
# DATASOURCES PARA MULTIPLES APLICACIONES
# ============================================================

# DataSource para Proyecto Neto
proyectonetoDS = new://Resource?type=DataSource
proyectonetoDS.JdbcDriver = org.postgresql.Driver
proyectonetoDS.JdbcUrl = jdbc:postgresql://localhost:5432/proyectoneto_database
proyectonetoDS.UserName = postgres
proyectonetoDS.Password = clavesecreta
proyectonetoDS.MaxActive = 20
proyectonetoDS.TestOnBorrow = true
proyectonetoDS.ValidationQuery = SELECT 1

# DataSource para Hnasociados
hnasociadosDS = new://Resource?type=DataSource
hnasociadosDS.JdbcDriver = org.postgresql.Driver
hnasociadosDS.JdbcUrl = jdbc:postgresql://localhost:5432/hnasociados_database
hnasociadosDS.UserName = postgres
hnasociadosDS.Password = clavesecreta
hnasociadosDS.MaxActive = 15
hnasociadosDS.TestOnBorrow = true
hnasociadosDS.ValidationQuery = SELECT 1

Qué hacemos:

  • Los identificadores `proyectonetoDS` y `hnasociadosDS` serán los nombres JNDI.
  • Se indica el driver, URL, usuario y contraseña.
  • `MaxActive` define el tamaño máximo del pool.
  • `TestOnBorrow` y `ValidationQuery` permiten validar las conexiones antes de entregarlas.

3. Cómo TomEE reconoce estos DataSources

Al iniciar, TomEE:

  1. Lee system.properties.
  2. Crea los DataSources definidos allí.
  3. Los pone a disposición del contenedor mediante JNDI, usando exactamente los nombres que definimos.

Así, cualquier aplicación puede inyectar o buscar estas conexiones sin preocuparse por la gestión del pool ni las credenciales.

4. Resumen de pasos

  • Descargar el driver JDBC y colocarlo en /srv/tomee/lib/.
  • Editar /srv/tomee/conf/system.properties y definir los DataSources.
  • Reiniciar TomEE para que cargue la nueva configuración.
  • La aplicación solo necesita referenciar el nombre JNDI del DataSource.

Este enfoque centraliza la configuración de la base de datos, permite múltiples DataSources y asegura que todas las aplicaciones compartan un pool de conexiones gestionado profesionalmente.

Comentarios

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...