Pessoal tenho a seguinte configuração do pool
<Resource
type="oracle.jdbc.pool.OracleConnectionPoolDataSource"
driverClass="oracle.jdbc.driver.OracleDriver"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
maxActive="40"
maxIdle="10"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="10" />
CATALINA_OPTS="-server -Xms2048M -Xmx3072M -XX:PermSize=512M -XX:MaxPermSize=512M"
Comecei a realizar teste de carga com o jmeter e verificando as conexões que permanecem aberta no banco com
SELECT count(*) FROM V$SESSION
O que verifiquei foi que com o dimensionamento da memória como está as conexões permanecem abertas. Se deixou as configurações default de memória do java ele por passar o garbage collection masi frequentemente ele após os testes permanecem com um valor pequeno de conexões abertas.
Qntd. Usuários = 300
Qntd. Conexões Abertas = 150
A dúvida é porque ele esta utrapassando a quantidade de conexões que determino e porque será que as conexões permanecem abertas?