[RESOLVIDO] Conexão Pagina JSP - método Init() e destroy()

4 respostas
orlandogpe

Olá Pessoal,

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.

4 Respostas

drsmachado

Conexão com banco de dados, direto da JSP?
Tá amarrado, em nome de Jesus! Aleluia!

A melhor forma de realizar estas conexões é através de uma classe específica para isto.

Tire já estas conexões da JSP.

orlandogpe

Então não é bem assim…

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.

Mas Vlw ae.

Flw

WRYEL

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.

[]'s

orlandogpe

Entao WRYEL, obrigado pela ajuda, nos decidimos refatorar as paginas que estão dando mais problemas.

[]'s

Criado 4 de junho de 2012
Ultima resposta 4 de jun. de 2012
Respostas 4
Participantes 3