Estoy usando con éxito un resources.xml
en mi WEB-INF
Carpeta similar a esta en uno de mis proyectos de producción:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<Resource id="mysql-jdbc-jta-resource-stg" type="javax.sql.DataSource">
JtaManaged = true
DataSourceCreator = tomcat
validationQuery = SELECT 1
initialSize = 2
removeAbandoned = true
removeAbandonedTimeout = 120
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://db-stg.bar.someRegion.rds.amazonaws.com/someDBname
username = your-username
password = your-pw
</Resource>
</resources>
Una diferencia importante es usar DataSourceCreator = tomcat
. Esto garantiza que TomEE cree un grupo que se encargue de la validación de la conexión ("SELECT 1") y elimine las conexiones bloqueadas/obsoletas, liberando así recursos en segundo plano.
Por el contrario, el DataSourceCreator = dbpc
(que es predeterminado cuando no está configurado:"Los grupos proporcionados por defecto son DBCP... ") se comportó como usted lo describió/experimentó (tiempos de espera,...). Compruebe el documentación relacionada
para más diferencias.
También tenga en cuenta que =
se utiliza en mi configuración de trabajo. Descubrí que en versiones anteriores de TomEE parecía funcionar sin =
. Sin embargo, recomendaría configurar con =
constantemente cuando su servidor de aplicaciones de destino es TomEE 1.7.2 o superior.
También se pueden encontrar más detalles sobre esto en la Configuración de fuente de datos página.
Espero que ayude.