Poll de conexão c/ Aplicação Desktop - hibernate+C3P0 [RESOLVIDO]
7 respostas
hvivox
Pessoal,
Preciso saber se é possível utilizar o poll de conexão com aplicações DESKTOP?
SE NÃO FOR POSSÍVEL,
Como posso gerenciar as minhas conexões abertas por aplicações desktop? sendo que tenho uma aplicação desktop onde 50 usuario irão acessar ao mesmo tempo!
OBS: Sei como usa o pool para aplições web, mas aplicações desktop são diferentes! Nesse caso há como configurar?
Utilizo essa configuração para aplicações web, mas isso é válido para Desktop?
Lembrando q cada usuário terá uma aplicação localmente ou seja instalado em seu host!
Essa propriedade ainda não conhecia!
jyoshiriro
Amigo, é a mesma coisa para Desktop.
A diferença é que numa aplicação WEB você pode fazer o c3p0 fazer um pool conforme um datasource do container, já em uma aplicação deskop o c3p0 faz seu pool direto. Na verdade o c3p0 sequer sabe se está trabalhando em uma aplicação web ou destop. Ele pegas as conexões e monta seu pool. Se o Hibernate está se conectando diretamente ao banco ou via DS, isso ele nem sabe heheheh.
Quanto a essa
Nas versões 3.3.x do Hibernate é obrigatória senão o c3p0 não é utilizado (mesmo usando as outras propriedades c3p0).
hvivox
Isso quer dizer que nas aplicações desktop cada host onde o sistema é aberto terá uma conexão!
Já em aplicações web poderá ter várias conexões abertas dependendo da demanda e da configuração, neste caso do c3P0?
Esperava que em aplicações desktop trabalhasse da mesma forma como aplicações web trabalham (abrindo uma unica conexão, depedendo da demanda abririam outra conexão). Tem como fazer isso para desktop?
sds.
marcelo.bellissimo
O Pool é criado na máquina onde o sistema está em execução. Se voce criou um sistema desktop na arquitetura clientes-servidor, onde o cliente se conecta á um serviço rodando num servidor, então esse Pool deve ser configurado na aplicação do lado do servidor, e os clientes conectam ao servidor, consumindo conexões do Pool sem sequer saber que o mesmo existe… cabe ao servidor gerenciar essas conexões.
Tanto pra desktop como pra web o funcionamento é o mesmo… no caso da Web, um navegador (Firefox, Opera, IE, Chrome…) é o cliente, enquanto o site ou serviço (rodando no servidor Tomcat, JBoss, Websphere, etc etc) é o servidor… o Pool está no servidor, sempre, pois é nele que vamos nos conectar…
jyoshiriro
Exatamente!
Se voce fizer uma aplicacao estilo “word”, onde cada pessoa vai “baixar” e usar localmente acessando um banco local, embutido ou remoto, cada um deles tera seu pool de conexao.
Para simular um pool como em aplicacoes WEB, voce teria que ter 2 versoes do seu sistema. Uma, a “servidor” onde o Hibernate funcionara, logo, o pool de conexoes e outra “cliente” que sera distribuida entre os usuarios. Esta nao usara Hibernate, fazendo apenas solicitacoes e recebendo respostas com dados do seu “servidor”.
hvivox
Interessante!
Ajudou bastante! Agora vou correr atrás para implementar a segunda versão do meu sistema “server”.