estou com um problema com conexões com o BD em paginas JSP.
Exemplo:
A conexão é iniciada e fechada da seguinte maneira.
//pagina JSP
<%! Conexao con = new Conexao ("NOMEBANCO");
public void jspInit()
{
con.IniciaConexao();
}
public void jspDestroy()
{
con.FechaConexao();
}
// aqui ficam os métodos que utilizam essa conexão
%>
Descrição do problema:
Usuario1: acessa a página e espera carregar. (página pesada com várias consultas)
Usuario2: acessa a mesma pagina enquanto a pagina do usuario1 está carregando.
Como é uma conexão por pagina é onde surge o erro para uma das pessoas, ou seja uma pessoa ja esta utilizando a conexao e outra tb tenta utilizar.
Gostaria de saber qual a melhor forma de realizar essas conexões.
Obs: é um sistema que está produção a alguns anos, entao existe muita coisa implementado dessa maneira.
Ja tem a classe especifica para isso… na JSP inicia a conexao quando a pagina é criada e passa ela como parametro para os metodos que vao utiliza-la e fecha no destroy, ou seja se 100 usuários utilizarem essa pagina no dia… vai utilizar a msm conexao, o problema so ocorre quando é uma pagina muito pesada.
Obs: O sistema teve inicio em 2002, entao por algum motivo implementaram assim na época, tem muita coisa implementada.
Hm. Você precisa de um refactoring no seu legado :o)
Posta o fonte desse seu Conexao.class que o pessoal aqui tenta bolar alguma sugestão, se poder também, coloca o numero de usuários medios simultâneos nessa app.