| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 14:58:42
|
eduardo_lopes
JavaGuru
![[Avatar]](/images/avatar/a89cf525e1d9f04d16ce31165e139a4b.jpg)
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
|
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 15:03:17
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 15:06:38
|
eduardo_lopes
JavaGuru
![[Avatar]](/images/avatar/a89cf525e1d9f04d16ce31165e139a4b.jpg)
Membro desde: 09/05/2003 10:33:14
Mensagens: 210
Localização: Cascavel - PR
Offline
|
verdade, mas essas sessões nunca expiram?
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 15:09:31
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 15:16:38
|
eduardo_lopes
JavaGuru
![[Avatar]](/images/avatar/a89cf525e1d9f04d16ce31165e139a4b.jpg)
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...
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2005 16:02:25
|
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
|
|
|
|
 |
|
|