Currently upgrading from 2.4 to 3.2. Our 2.4 instance uses all default settings for a DB connection pool. Among other things implies that Jboss will allow the application to grab an unlimited number of connections to the database. (BTW, oracle is configured for a maximum of 40 connections) Generally, the application has been using 20 - 25 connections depending on load.
The 3.2 configuration default for maxconnections is 0 instead of unlimited. So for testing purposes we set maxconnections to 100. When testing the application with a production like load, oracle's 40 connections were soon exceeded resulting in perfomance degradation and exceptions. In order to implement the upgrade we have found that the max connections must now be set to some number less than the max configured in oracle. Probably how it should be set anyway.
Everything else being equal, why would 2.4 manage these connections more efficiently than 3.2? It seems this must be the case as the 2.4 instance has always allowed unlimted connections and has never exceeded them in two plus years.