Pessoa…primeiramente bom dia!
Não sei se isso é fácil…ou eu to bobiando…mas…
Digamos o que tem um sistema que usa pool de conexoes e o programador esqueceu de fechar Resultset e o PreparedStantment no fonte.
E agora?
ok…vou procurar no projeto pelas transações que estão abertas…tipo SELECT * SEILA_OQ
porém, o sql nao está na classe, ta separado e a aplicação é gigante.
Alguma dica?
Está em algum padrão ou no padrão gambiarra?
sem padrão…
tem sql as veses nos DAO…
e outras vezes não…
os dos DAO eu já verifiquei, pois procurei pelo select que estava aberto no server.
A lógica de manipular os objetos de conexão não deveria estar espalhada em cada vários pontos do código.
Já que vai ter que corrigir por estar dando problemas, já faça da melhor forma agora.
Crie uma classe (ou conjunto de classes) para trabalhar com jdbc encapsulando essa parte e vai substituindo aos poucos onde achar.
Se puder usar frameworks, dê uma olhada em como o Spring faz isso com o JDBCTemplate.
Se não puder usar, copie a idéia deles…