Bom dia,
pessoal espero conseguir apoio com vocês, vou tentar detalhar bem para vocês.
Faz algum tempo que estou trabalhando em um sistema onde tem muitas Threads e numero de conexões com o banco muito grande.
Consegui amenizar o problema de conexões achando em raros pontos no código que utiliza jdbc puro e que fechava a Connection no try
ao invés do finally mas confesso que foi em apenas uns 2 ou 3 métodos, surtiu efeito mas como imaginei muito pouco melhorou.
O sistema é grande e temos hibernate e jdbc trabalhando juntos, imagino também que cerca de umas 30 threads rodam ao mesmo tempo,
como trabalhamos em alguns casos com pool de threads não da de saber exatamente quanto está rodando sempre.
O problema de conexão coloquei o c3p0 e o leak realmente acabou mas ele não aguenta o pique do sistema, simplesmente fica muito lento
chegando a travar em menos de 10 minutos da aplicação rodando em produção. Então continua o tomcat-dbcp.jar, atualizei para ver
se conseguia alguma melhoria.
Os sqls são executados com o jdbcTemplate e hibernateTemplate do spring que controla o fechamento da conexão e etc. Em raros lugares
é que utilizo um PreparedStatement e um ResultSet.
O problema que estou tendo com thread é o seguinte, tenho espaço em memória, utilizo a visulavm para monitoramento, mas quando a thread
vai ser iniciada ele acusa um outOfMemory mesmo a JVM ainda tendo 1 giga de memória livre.
Se puderem ajudar fico agradecido.






