| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:03:49
|
leandrocm86
JavaBaby
![[Avatar]](/images/avatar/d0b9ad3d3ca9c79694e2ce99aee06382.jpg)
Membro desde: 02/06/2008 09:55:34
Mensagens: 80
Offline
|
Considerando que meu sistema não vai ter muitos acessos simultâneos (o que acho que descarta a estratégia de usar pool de conexões), qual é a melhor estrutura?
Cada DAO deve ter uma conexão com o banco? Ou devo usar uma única conexão para todos os acessos (conexão singleton)?
Ou cada método das DAOs vai fazer a própria conexão?
Como decidir isso?
Obrigado desde já!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:16:46
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
oi,
se o seu sistema vai ter muitas conexões é uma boa idéia você usar um pool de conexões e não um singleton, que servidor você vai usar??
abs
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:22:48
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
JDBC connection pooling tips
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:25:58
|
guilhermevh
JavaChild
![[Avatar]](/images/avatar/3259448026472bf01c91b755d70608dc.jpeg)
Membro desde: 21/10/2006 23:31:01
Mensagens: 106
Offline
|
bom, se for especifico ja pensou em usar o Hibernate(eu pessoalmente nao gosto) ?...Ou pode criar um DAO mesmo com pool (usa o gerenciador de pool da apache é muito bom), simples e rapido...cria uma interface pra sua regra de negocio e pronto...
abs
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:33:11
|
leandrocm86
JavaBaby
![[Avatar]](/images/avatar/d0b9ad3d3ca9c79694e2ce99aee06382.jpg)
Membro desde: 02/06/2008 09:55:34
Mensagens: 80
Offline
|
André Fonseca wrote:oi,
se o seu sistema vai ter muitas conexões é uma boa idéia você usar um pool de conexões e não um singleton, que servidor você vai usar??
abs
Então, é um sistema bem particular, não vai ter muitos acessos.
Pretendo usar o Tomcat.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 10:35:58
|
leandrocm86
JavaBaby
![[Avatar]](/images/avatar/d0b9ad3d3ca9c79694e2ce99aee06382.jpg)
Membro desde: 02/06/2008 09:55:34
Mensagens: 80
Offline
|
guilhermevh wrote:bom, se for especifico ja pensou em usar o Hibernate(eu pessoalmente nao gosto) ?...Ou pode criar um DAO mesmo com pool (usa o gerenciador de pool da apache é muito bom), simples e rapido...cria uma interface pra sua regra de negocio e pronto...
abs
Pois é, já pensei no Hibernate, mas não quero usá-lo agora. É meu primeiro sistema web e queria aprender primeiro como as coisas funcionam, sem usar frameworks e seus arquivos de configuração. Além disso, já tenho muito código implementado com JDBC.
O pool não seria um exagero para um sistema bem particular com poucos acessos?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 11:23:08
|
guilhermevh
JavaChild
![[Avatar]](/images/avatar/3259448026472bf01c91b755d70608dc.jpeg)
Membro desde: 21/10/2006 23:31:01
Mensagens: 106
Offline
|
O pool não seria um exagero para um sistema bem particular com poucos acessos?
pode ser um DAO sem pool...mas isso vai pra aprendizado também, estou fazendo o meu TCC para a faculdade, se eu tivesse feito esse modulo antes, ao invés de sempre fazer um sisteminha de conexão para cada projeto e tal acho que teria rendido mais...não sei...mas acho que se você está com essa dúvida acredito que você queria uma coisa bem feita ...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 12:24:22
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
Oi Leandro,
Desculpe, eu achei que o seu sistema iria ter muitos acessos. No seu caso eu também acho mais fácil você ter uma classe que gera a conexão e DAO´s específicos de cada objeto.
Algo assim
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 15:24:42
|
leandrocm86
JavaBaby
![[Avatar]](/images/avatar/d0b9ad3d3ca9c79694e2ce99aee06382.jpg)
Membro desde: 02/06/2008 09:55:34
Mensagens: 80
Offline
|
guilhermevh wrote:
O pool não seria um exagero para um sistema bem particular com poucos acessos?
pode ser um DAO sem pool...mas isso vai pra aprendizado também, estou fazendo o meu TCC para a faculdade, se eu tivesse feito esse modulo antes, ao invés de sempre fazer um sisteminha de conexão para cada projeto e tal acho que teria rendido mais...não sei...mas acho que se você está com essa dúvida acredito que você queria uma coisa bem feita  ...
Eu realmente quero uma coisa bem feita rs
Mas "bem feito" pra mim, nesse caso, é a melhor solução em termos de desempenho e manutenção. Como o sistema é pequeno, acho que não compensaria usar um pool de conexões. Eu nunca fiz um na verdade, mas IMAGINO que não seja a solução mais "light" né...
This message was edited 1 time. Last update was at 15/09/2008 15:31:28
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 15:30:27
|
leandrocm86
JavaBaby
![[Avatar]](/images/avatar/d0b9ad3d3ca9c79694e2ce99aee06382.jpg)
Membro desde: 02/06/2008 09:55:34
Mensagens: 80
Offline
|
André Fonseca wrote:Oi Leandro,
Desculpe, eu achei que o seu sistema iria ter muitos acessos. No seu caso eu também acho mais fácil você ter uma classe que gera a conexão e DAO´s específicos de cada objeto.
Algo assim
Acho que vou fazer algo tipo isso mesmo. Fiquei em dúvida se seria melhor usar uma única conexão (singleton) ou criar uma conexão para cada acesso ao banco. Eu não sei se criar uma para cada acesso é um processo custoso, mas como não vão ter muitos acessos, acho que questão de desempenho aqui não seria crítico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 15:41:14
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
leandrocm86 wrote:Considerando que meu sistema não vai ter muitos acessos simultâneos (o que acho que descarta a estratégia de usar pool de conexões), qual é a melhor estrutura?
Cada DAO deve ter uma conexão com o banco? Ou devo usar uma única conexão para todos os acessos (conexão singleton)?
Ou cada método das DAOs vai fazer a própria conexão?
Como decidir isso?
Obrigado desde já!
Conexão singleton não existe. Se fizer isso vai-se dar mal.
Use um DataSource que é uma interface padrão do JDBC para obter suas conexões. Implemente o seu ou use o que o driver do seu banco disponibiliza. Deixe ele gerenciar as conexões como ele quiser.
Quem precisar de uma conexão obtém-a do DataSource.
Não se esqueça que todo o acesso deve ser tranacional e a coneção sempre deve ser fechada após o fim da transação invocando connection.close().
This message was edited 1 time. Last update was at 15/09/2008 15:41:35
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 16:01:31
|
Marcio Duran
GUJ Master
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline
|
sergiotaborda wrote:
Conexão singleton não existe. Se fizer isso vai-se dar mal.
Use um DataSource que é uma interface padrão do JDBC para obter suas conexões. Implemente o seu ou use o que o driver do seu banco disponibiliza. Deixe ele gerenciar as conexões como ele quiser.
Quem precisar de uma conexão obtém-a do DataSource.
Não se esqueça que todo o acesso deve ser tranacional e a coneção sempre deve ser fechada após o fim da transação invocando connection.close().
"Deixe ele gerenciar as conexão como ele quiser".Que estratégias de uma exceção gerada pela JVM, eu posso adotar em caso o o servidor esteja fora do ar.
Situação, Java.io.FileNotFoundException must be caught, or it must be declared int the throws clause of this method ?????
This message was edited 1 time. Last update was at 15/09/2008 16:02:09
|
Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 17:25:48
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
Marcio Duran wrote:
sergiotaborda wrote:
Conexão singleton não existe. Se fizer isso vai-se dar mal.
Use um DataSource que é uma interface padrão do JDBC para obter suas conexões. Implemente o seu ou use o que o driver do seu banco disponibiliza. Deixe ele gerenciar as conexões como ele quiser.
Quem precisar de uma conexão obtém-a do DataSource.
Não se esqueça que todo o acesso deve ser tranacional e a coneção sempre deve ser fechada após o fim da transação invocando connection.close().
"Deixe ele gerenciar as conexão como ele quiser".Que estratégias de uma exceção gerada pela JVM, eu posso adotar em caso o o servidor esteja fora do ar.
 Situação, Java.io.FileNotFoundException must be caught, or it must be declared int the throws clause of this method ?????
Vc nunca usou o DataSource, certo ?
O dataSource tem um método getConnection que lança SQLExceptino quando algo dá errado. É essa exceção que vc tem que tratar.
Apenas essa. Não tem relação com FileNotFoundException
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 17:45:44
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
Oi Leandro
Se você vai usar o Tomcat eu sugiro você usar o próprio pool dele, não é difícil e vale a pena aprender, dá uma olhada aqui qualquer coisa posta no tópico
Abs
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2008 18:57:32
|
Marcio Duran
GUJ Master
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline
|
sergiotaborda wrote:
Vc nunca usou o DataSource, certo ?
O dataSource tem um método getConnection que lança SQLExceptino quando algo dá errado. É essa exceção que vc tem que tratar.
Apenas essa. Não tem relação com FileNotFoundException
O pacote java.io contém classes que facilitam o armazenamento e a recuperação de informações de um determinado dispositivo, que pode ser a memória, disco ou a rede.
Java.io.FileNotFoundException, essa excecção poderia vir a ser gerada por situações que não fosse diretamenta relacionada a dataSource, entretanto poderia ser um agente externo ou físico, então eu fiz essa suposição por considerar outras variáveis.
; )
This message was edited 1 time. Last update was at 16/09/2008 09:08:02
|
Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven |
|
|
 |
|
|