Úspěšně používám resources.xml
v mém WEB-INF
složka podobná této v mých produkčních projektech:
<?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>
Jedním z důležitých rozdílů je použití DataSourceCreator = tomcat
. To zajišťuje, že TomEE vytvoří fond, který se postará o ověření připojení ("SELECT 1") a odstraní zablokovaná/zastaralá připojení, čímž uvolní zdroje na pozadí.
Naproti tomu DataSourceCreator = dbpc
(což je výchozí když není nastaveno:"Výchozí poskytované fondy jsou DBCP... ") se choval tak, jak jste to popsal/zažil (časové limity,...). Zkontrolujte související dokumentaci
pro další rozdíly.
Všimněte si také, že =
se používá v mé pracovní konfiguraci. Zjistil jsem, že v předchozích verzích TomEE se zdálo, že to funguje bez =
. Doporučuji však konfigurovat pomocí =
konzistentně, když je váš cílový aplikační server TomEE 1.7.2 nebo vyšší.
Další podrobnosti o tom lze také nalézt v Konfigurace zdroje dat strana.
Doufám, že to pomůže.