Pessoal, desculpem dar ress nesse tópico, mas me fizeram algumas perguntas por mp e acho melhor responder por aqui por dois motivos:
- Pode ser que eu esteja errado, nesse caso alguem me corrija.
- Pode ser que esta dúvida seja comum a outras pessoas.
Estou implementando tb.
o context.xml eu configurei assim
<?xml version="1.0" encoding="UTF-8"?>
Vc acha legal esta configuração?
Bom, é um pouco dificil falar assim genericamente. Como eu disse la no tópico, isso depende de vários fatores (tamanho da sua aplicação, finalidade da sua aplicação - é um portal público, um sistema interno…?? - , do numero de usuários acessando…) .
Está bem parecido com a configuração que eu uso para um sistema de médio porte…
Eu só achei estranho isso aqui:
removeAbandonedTimeout=“5” Isso são 5 segundos, eu acho pouco tempo…! Os usuários não tem sessão no seu sistema?
Qualquer dúvida dê uma olhada aqui (tem outros parâmetros que você pode usar também):
http://commons.apache.org/dbcp/configuration.html
Outra dúvida, quando usava o JDBC eu fecho todas as conexões com o Connection.close(), com este poll tenho tb que fechar?
tipo assim
Connection conn = null;
Statement st = null;
ResultSet rs = null;
// Obtém a raiz da hierarquia de nomes
InitialContext ctx = new InitialContext();
// Obtém a origem dos dados
DataSource ds =
(DataSource) ctx.lookup(“java:comp/env/jdbc/blahblah”);
// Retorna a conexão
conn = ds.getConnection();
(…)
// Fecho a conexão
conn.close();
Seria necessário?
SIM !!! Não esqueça de jeito nenhum de fechar as conexões, senão não tem como o container “saber” que um usuário já finalizou a sua operação no banco e retornar esta mesma conexão para outro usuário do pool.
Isto porque por debaixo dos panos o tomcat é que tem o controle direto das conexões, ele apenas disponibiliza uma interface para você trabalhar como se fosse diretamente com o banco. Ou seja, internamente o tomcat sabe que quando você dá um .close() você não está fechando a conexão com o banco, mas apenas deixando de usar uma interface que o tomcat te disponibiliza e consequentemente, por debaixo dos panos, liberando aquela conexão para outro.
Existem meios de você acessar a conexão com o banco diretamente através de alguns parâmetros de configuração no arquivo de contexto, mas isso pode ser bem perigoso se você não souber controlar direito.
Lembre-se que você não está implementando o seu próprio pool “na mão”, então deixe que o tomcat resolva esses problemas para você. 