Pool de conexoes

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

[code]
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");
	}
}

}[/code]

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!!!

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

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

valeu!!!

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

valeu!!![/quote]

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!

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!!!

[quote=“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!!![/quote]

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

flw!