Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 3 da Aula 5 - Connection Pool e Datasources Postgres

Utilizei o pool do postgres, org.postgresql.ds.PGPoolingDataSource; porem li que não é uma boa pratica utilizar o pool do postgres desta forma, e sim implementar no tomcat ou servidor que esteja utilizando, teria outra forma além dessas?

3 respostas

Oi Marcos,

há uma alternativa: Vc pode usar um Datasource fornecido pelo servidor de aplicação. Nesse caso a aplicação fará apenas um lookup do Datasource e toda criação do pool/conexão fica no cargo do servidor.

A ideia aqui é separar melhor as responsabilidades. A aplicação não deveria saber da onde vem a conexão nem quais são as configurações concretas do pool, isso faz parte do servidor de aplicação. Assim vc pode alterar as configuração sem mexer na aplicação.

Eu pessoalmente não vejo muita vantagem, nem gosto muito de lookups do datasource. A sua aplicação se torna menos portável e mais difícil de testar pois sempre depende do servidor. Eu ficaria com a configuração na aplicação, que é mais transparente pra quem desenvolve.

Abs

Ola nico... primeiramente muito obrigado... Fiz da seguinte maneira .... criei o dataSource no context da aplicação, declarei o recurso no web.xml.... e cria a conexão no java da seguinte maneira:

InitialContext initCtx = new InitialContext();
            DataSource ds = (DataSource) initCtx.lookup( "java:/comp/env/jdbc/zonemanetostantonio" );

Oque acha deste método??? ..... Abs

solução!

Oi Marcos,

é isso mesmo, fazendo lookup usando o InitialContext!

Se vc estiver utilizando um container como Spring, EJB ou CDI pode até delegar esse trabalho pra eles. Ai nem precisa fazer o lookup pois o container já fará.

abs