Вы должны не реализовывать свой собственный пул, если это то, что вы используете. Tomcat уже делает это за вас, вместо этого определите источник данных в Tomcat и используйте его в своей структуре ORM (когда вы определяете свой источник данных Tomcat, вы можете указать там конфигурации пула).
Если бы вы могли опубликовать некоторые фрагменты кода, в частности, соответствующие конфигурации контекста Spring, я могу помочь вам объяснить, как вы это сделаете.
Вот документация Tomcat, которая показывает вам, как именно вы это делаете:
Кстати, Tomcat также использует DBCP, и лучше полагаться на JNDI, так как он делает ваш код более переносимым (из одной среды в другую - например, из dev для подготовки к работе или даже между серверами приложений - например, в WebSphere , WebLogic и т. Д.).