Pool de conexoes

5 respostas
M

Pessoal,

Eu ainda no entendi o conceito de pool, suas vantagens, etc... entao pra tentar exemplificar melhor vou citar um exemplo de uma classe d conexao
import java.sql.*;

public class MakeConnection{
	private Connection conx = null;

	public  Connection getConnection(){
		try{
			Class.forName("org.postgresql.Driver");
			conx=DriverManager.getConnection("jdbc:postgresql://" +
					"localhost:5432/bd","usuario","senha");
		}	
		catch(Exception e){

		}

		return conx;
		
	}
	
	public void closeConnection(){
		try{
			conx.close();
		}
		catch(Exception e){
		    System.out.println("Excecao ao fechar conexao");
		}
	}
}
e qdo eu precisar acesar a base de dados em outras classes instancio MakeConnection
MakeConnection mk = new MakeConnection();
Connection con = null

con = mk.getConnection();
..
..
..
..
mk.closeConnection();

qual a desvantagem d ser feito dessa maneira em relacao a um "pool"??

Ate mais!!!

5 Respostas

C

Opa… a vantagem em utilizar um pool de conexões se deve ao fato de que as conexões serão criadas somente quando voce inicializar sua aplicação, ao contrario do modo sem pool que a cada requisição para utilizar uma conexão voce cria uma nova conexão.

Um pool de conexões evita que as conexões sejam criadas toda vez que o usuário necessita de uma conexão, pois com o pool voce passará uma conexao ja criada anteriormente.

E em um pool as conexoes nao sao fechadas, elas são devolvidas ao pool ao final do rotina de uso do usuário.

Para simplificar, um pool evita a criação constante de conexoes em tempo de execução, instanciando-as apenas no início da aplicação.

Espero ter ajudado.

Abraços

M

blz…agora entendi a vantagem, mas no caso de nao utilizar pool é consumido muito recursos do sistema ao criar/fechar as conexoes??

valeu!!!

R

“marceloedrei”:
blz…agora entendi a vantagem, mas no caso de nao utilizar pool é consumido muito recursos do sistema ao criar/fechar as conexoes??

valeu!!!

Sim. Mas óbvio que irá depender da sua aplicação.

Com o pool vc não terá que criar uma nova conexão, pois já estarão ativas e disponíveis para o uso, vc até determina quantas!
Em aplicações web é comum e recomendado utilizar o pool, até pq o gerenciamento dele é feito pelo próprio web-server, imagina se vc não utiliza um pool e cria uma rotina de conexão, em seguida executa uma determinada tarefa e depois esquece de fecha-la … humm!!! vulnerabilidade total!

Achei esse artigo aqui, não específico para o Java, mas passa qual é a idéia!

flw!

M

valeu…na verdade eu ja imaginava q o pool era muito melhor…e o problema eh q muitas vezes eu apanho pra configura-lo no tomcat…por isso q eu nao gosto d utilizar…mas vou da uma pesquisada legal pra ver se aprendo d vez a configurar um pool.

Ate mais!!!

R

“marceloedrei”:
valeu…na verdade eu ja imaginava q o pool era muito melhor…e o problema eh q muitas vezes eu apanho pra configura-lo no tomcat…por isso q eu nao gosto d utilizar…mas vou da uma pesquisada legal pra ver se aprendo d vez a configurar um pool.

Ate mais!!!

No tomcat não tem crise, é só configurar os xml’s certos e criar um jndi dts … olha o how-to ai !!!

flw!

Criado 20 de julho de 2005
Ultima resposta 22 de jul. de 2005
Respostas 5
Participantes 3