Добре, разрових се и разбрах това сам. (Благодаря за многото любезни хора в пощенския списък на tomcat-users!)
JB Nizet е прав:ако създавате пулове за свързване на база данни Tomcat от Java код, всеки DataSource, който инстанциирате, буквално е/представлява отделен пул за свързване. Това беше изненадващо за мен; идвайки от .NET фон, предположих, че групирането на връзки на Tomcat ще работи като групирането на връзки на SqlServer/ADO.NET:ако използвате два идентични низа за свързване, за да получите две връзки към база данни, и двете ще идват от един и същ пул за връзки. Въпреки това, в Tomcat, когато инстанциирате DataSource обекти от Java код, всеки нов екземпляр на DataSource е изцяло нов пул за свързване. Така че, ако искате да запазите тези пулове за свързване през JAX-RS извиквания на уеб услуга, например, трябва да изградите свой собствен кеш на пул от бази данни (DataSource), да поставите екземплярите на DataSource (по един на база данни) в него и да го съхраните в обект, който JAX-RS ще продължи през извикванията на уеб услуга. Току-що направих това и работи добре.
Между другото, обединяването на връзката към базата данни на Tomcat предлага функционалност, подобна на обединяването на връзки на SqlServer/ADO.NET, просто трябва да използвате JNDI ресурси, за да създадете вашите екземпляри на DataSource. (В моя случай това не е опция, тъй като базите данни се създават динамично в моето приложение и JNDI дефинициите обикновено се създават от конфигурационни файлове, които Tomcat чете при стартиране.)