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!