Obtendo uma implementação de um DataSource

3 respostas
victorwss

Oi pessoal. Esbarrei em um problema aqui no meu trabalho. É o seguinte:

Estamos desenvolvendo um conjunto de aplicações Swing que utilizavam java.sql.DriverManager para conectar no banco de dados. Até aí todos estavam felizes.

Mas num belo dia, surgiu um grande pepino aqui e chegamos a conclusão que precisaríamos usar um pool de conexões. A interface javax.sql.DataSource nos oferece esse pool.

Mas, DataSource é uma interface, o que significa que eu não posso instanciá-la. E eu necessito de uma instância para invocar o método getConnection().

Dei uma procurada no google e também aqui no fórum e eu não achei nenhuma resposta satisfatória. Vi alguns tópicos falando sobre JNDI e servidores de aplicação. Não entendi como eu usaria estes recursos, mas se for o caso do servidor de aplicação, daí estou ferrado porque a nossa aplicação é Swing (não tem nada de web) e não tem nenhum servidor de aplicação (e nem é para ter).

Enfim, como faço para obter uma instância de DataSource?

3 Respostas

furutani

Olá

Na interface DataSource tem um método getConnection(), você pode invoca-lo após obter o data source do seu pool.
Como criar e obter um data source depende da implementação que você usar.

victorwss

Ou seja, não existe forma de fazer isso sem ser vendor lock-in?

O

Veja se o DBCP não ajuda a resolver o seu problema.
Que banco de dados você está usando? Alguns drivers implementam DataSource também.

Criado 6 de fevereiro de 2008
Ultima resposta 7 de fev. de 2008
Respostas 3
Participantes 3