Yes those are the settings I have been playing with. When I started getting this I was using the exact same default parameters that are in place when you export your war file as all of my other applications. What is really baffling is that as I said before this application is 1/10th of the volume as our larger applications and is the only one with an issue.
Right now I'm using the below, but it does not appear to help. Also yes I did start with a real validationQuery against my DB, but read online select 1 is a valid validation query for MS SQL.
<Resource auth="Container" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" factory="org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS" name="jdbc/TelecomNCOCPDS" type="org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS" url="jdbc:sqlserver://SERVER;databaseName=DATABASE"/>
<Resource auth="Container" dataSourceName="java:/comp/env/jdbc/TelecomNCOCPDS" defaultMaxActive="10" defaultMaxIdle="5" defaultMaxWait="10000" factory="org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSourceFactory" logAbandoned="true" name="jdbc/TelecomNCO" removeAbandoned="true" removeAbandonedTimeout="300" testOnBorrow="true" type="org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource" validationQuery="select 1"/>
I was attempting to get at the real active and idle connection numbers so I can see what tomcat is actually doing on all these calls.