Pool de Conexões sem ser o Commons DBCP  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

Estava pensando em colocar um pool de conexões no Mentawai e fazer um filtro para prover uma Connection para uma ação de forma totalmente transparente.

Não queria usar o Commons DBCP, porque ele depende do commons-pool, que depende do commons-collections.

O Mentawai do jeito que está agora não depende de nada e é um mísero jar de 101k.

Alguém conhece uma implementação clean, pequena e eficiente?


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

c3p0

[]s
luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
ricardolecheta
GUJ Master
[Avatar]

Membro desde: 17/05/2003 13:42:10
Mensagens: 1486
Localização: Curitiba
Offline

Luca wrote:Olá

c3p0

[]s
luca


show de bola esse, eu tinha uma aplicação que usava o pool do websphere... sempre dava problemas..

depois que coloquei o c3p0 os problemas terminaram

Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.livetouch.com.br/
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

To vendo que o DBCP já vem no Tomcat.

Acho que vou abstrair o pool de conexões do framework, ou seja, cada um usa o que quiser. Vou só criar uma interface ConnectionHandler para o cara implementar para prover conexões.

Já tenho:

JNDIConnectionHandler = pega do context jndi definido no XML

e

DataSourceConnectionHandler = usa um data source qualquer para prover as conexoes

Falta algo?



Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Ofereça um pool default, não se esqueça de:

Mentawai Website wrote:Don't make me think much! I have a web project to do!


O cara não quer "conversa", ele quer a coisa feita. Você não precisa "empacotar" o pool dentro do Mentawai, mas dê uma implementação default da classe ConnectionHandler usando o DBCP, ou o C3p0 ou o Proxool, porque muita gente não tem acesso nem a um JNDI nem a um Datasource, principalmente quem trabalha com hospedagem terceirizada.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Erhm, alguem me explica pq um framework web tem que se preocupar com as conexoes no banco de dados?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

cv wrote:Erhm, alguem me explica pq um framework web tem que se preocupar com as conexoes no banco de dados?


Acho que eu já perguntei isso: http://www.guj.com.br/posts/list/15/26049.java#141337

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

cv wrote:
Erhm, alguem me explica pq um framework web tem que se preocupar com as conexoes no banco de dados?


Não tem nava haver mesmo! O que eu gostaria de oferecer é um ConnectionFilter que vai oferecer uma Connection pra action de maneira totalmente transparente e vai garantir que aquela Connection será devolvida ao pool de qualquer maneira após a execução da action.

Mas quero deixar aberto para o cara utilizar o pool que ele quiser.

Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

Maurício Linhares wrote:Ofereça um pool default, não se esqueça de:

Mentawai Website wrote:Don't make me think much! I have a web project to do!


O cara não quer "conversa", ele quer a coisa feita. Você não precisa "empacotar" o pool dentro do Mentawai, mas dê uma implementação default da classe ConnectionHandler usando o DBCP, ou o C3p0 ou o Proxool, porque muita gente não tem acesso nem a um JNDI nem a um Datasource, principalmente quem trabalha com hospedagem terceirizada.


Fala Maurício!!! Concordo com vc! Minha dúvida é:

Não queria inxar o Mentawai com dependencias externas, mas nada me impede me compilar uma classe que use esses pools sem incluir os seus respectivos jars.

desvantagens:

- O cara terá que ser esperto para pegar essas implementações e colocar no /web-inf/lib

- No caso do Tomcat, não precisa fazer nada para o DBCP, que já vem dentro do Tomcat.

- Quando algúem for fazer o build vai dar pau pois não vai encontrar esses jars.

soluções:

- eu deixar de bobeira e incluir esses jars na distribuição do mentawai, mas não no mentawai.jar, o que não faz sentido mesmo.

- não incluir mas checar no runtime se elas existem e se o cara tentar usá-las sem o Jar jogar uma exceção bem clara do tipo: "Vc precisa pegar o pool tal aqui e colocar os jars no /web-inf/lib da sua aplicação.


O que vc acha de tudo isso Maurício?



This message was edited 2 times. Last update was at 29/06/2005 11:50:05


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team