Jag använder framgångsrikt en resources.xml i min WEB-INF mapp som liknar denna i mina produktionsprojekt:
<?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>
En viktig skillnad är att använda DataSourceCreator = tomcat . Detta säkerställer att TomEE skapar en pool som tar hand om anslutningsvalidering ("SELECT 1") och tar bort blockerade/föråldrade anslutningar, vilket frigör resurser i bakgrunden.
Däremot är DataSourceCreator = dbpc (vilket är standard när inte inställt:"Standardpooler är DBCP... ") betedde sig som du beskrev/upplevde det (timeouts,...). Kontrollera relaterad dokumentation
för ytterligare skillnader.
Observera också att = används i min arbetskonfiguration. Jag upptäckte att det i tidigare TomEE-utgåvor verkade fungera utan = . Jag skulle dock rekommendera att konfigurera med = konsekvent när din målapplikationsserver är TomEE 1.7.2 eller högre.
Ytterligare information om detta finns också i DataSource Configuration sida.
Hoppas det hjälper.