Успешно използвам resources.xml
в моя WEB-INF
папка, подобна на тази в моите производствени проекти:
<?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>
Една важна разлика е да използвате DataSourceCreator = tomcat
. Това гарантира, че TomEE създава пул, който се грижи за валидирането на връзката („SELECT 1“) и премахва блокираните/остарели връзки, като по този начин освобождава ресурси във фонов режим.
За разлика от това, DataSourceCreator = dbpc
(което е по подразбиране когато не е зададено:"По подразбиране предоставените пулове са DBCP... ") се държеше, както го описахте/изпитахте (изчаквания,...). Проверете свързана документация
за допълнителни разлики.
Също така имайте предвид, че =
се използва в моята работна конфигурация. Открих, че в предишни версии на TomEE изглеждаше, че работи без =
. Въпреки това бих препоръчал да конфигурирате с =
последователно, когато вашият целеви сървър на приложения е TomEE 1.7.2 или по-нова версия.
Допълнителни подробности за това могат да бъдат намерени и в Конфигурация на източник на данни страница.
Надявам се да помогне.