Dúvida com DataSource Tomcat  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
eduardo_lopes
JavaGuru
[Avatar]

Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline

Galera, to com um problema aqui, configurei um ConnectionPool no server.xml do tomcat dessa forma:



Estou usando JDBC puro, nada de hibernate nessa app, daí criei uma classe abstrata chamada Connector que tem o método:



Daí cada servlet resgata o objeto Connection através desta classe.
Até aí blza, não sei se é a melhor implementação, mas tudo bem, o que tá ocorrendo é que cada chamada ao servlet cria uma sessão no banco de dados oracle, a pergunta é, se eu estou utilizando o DataSource do Tomcat ele não deveria resgatar sempre a mesma conexão? ou será que eu tô bem por fora do assunto e fazendo "caca"?

[]'s

Eduardo



jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

se vc cria um pool de conexões, espera que seja mais de uma e que o conteiner gerencie isso.

[]'s

João Bier
Desenvolvedor Java
[Email]
eduardo_lopes
JavaGuru
[Avatar]

Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline

verdade, mas essas sessões nunca expiram?



jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

o container vai saber a hora de fechar a conexão, ou pelo menos deve saber....hehe!!

[]'s

João Bier
Desenvolvedor Java
[Email]
eduardo_lopes
JavaGuru
[Avatar]

Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline

nossa, aí que dá medo!

eu achava q o container não ficava criando conexões a vontade e sim utilizava-se dos recursos da conexão criada e se necessário criaria outra... vou ter que rever algumas coisas...



thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Normalmente pools de conexões funcionam assim: as conexões são emprestadas de um pool, e quando você acabar de usar, você deve devolvê-las (fechando-as com close; é igual a livros da biblioteca, eles não vão sozinhos para lá de volta. Na verdade até existe o tal do "finalize", mas é o correspondente à sua mãe ou esposa ficarem cheios de tantos livros que você pega na biblioteca e não devolve, e acabarem indo devolver todos eles de uma vez só. )

Você nunca nunca nunca deve esquecer-se de fechar a conexão com close() em seu aplicativo (use finally se necessário). É que você sempre tem de devolver o recurso; ele não fica disponível sozinho.

O "connection pool" tem o compromisso de deixar algumas conexões já abertas, mas não muitas; se passar algum tempo, deve fechar algumas.

This message was edited 1 time. Last update was at 25/02/2005 16:05:41



[WWW]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team