Configuração do GlassFish
Abra a IDE Netbeans, e dirija-se para a aba 'Serviços', localize o 'GlasFish Server 3.1' e clique com botão direito do mouse a opção "Iniciar".
Agora vá até seu navegador e entre com a URL: http://localhost:4848, para acessar o gerenciador do 'GlasFish'. Expanda a gui "Recursos">> JDBC para criar um
grupo de conexões conforme figura abaixo:
A partir daqui vamos criar um novo grupo de conexão clicando na opção 'NOVO'. Será aberto o 'Edit JDBC Connection Pool'.
Coloque os seguintes dados solicitados:
- Nome do grupo: PoolPostgree //ou qualquer nome que você quiser;
- Tipo de recurso: javax.sql.DataSource;
- Nome de classe da fonte de dados: org.postgresql.ds.PGSimpleDataSource.
Agora vá para a aba "Outras Propriedades" e configure as opções conforme a base de dados do PostgreSQL conforme figura abaixo:
Você pode executar um teste clicando na opção "PING" e se tudo ocorrer bem, ele retornará a seguinte mensagem: 'Ping executado com êxito'.
Clique em "Salvar" logo após finalizar as configurações, e vá para a opção "Recursos do JDBC" para criar o JNDI que será usado no arquivo de configuração do JPA.
Clique em "Novo" e coloque as opções conforme abaixo:
- Nome JNDI: jdbc/ Nome_da_minha_JNDI;
- Nome do Grupo: PoolPostgree //escolha no combobox.
Agora basta salvar, as configurações do GlassFish estarão preparadas para serem utilizadas pelos nossos projetos no NetBeans.
Configuração do XML do projeto Java Web
Você deve estar querendo saber como o meu projeto Java vai fazer para se comunicar com o banco, sendo que não tenho nenhuma classe conect criada, nem uma
classe DAO com usuário e senha para acessar a base; pois isso foi informado ao Servidor GlassFish. Porém meu projeto, como fica?
Aí está a mágica do JPA2, você apenas configura no XML do projeto (ele dá uma de Pilatos e lava as mãos) e entrega todo o gerenciamento de transações ao nosso
amigo 'Contêiner Web'.
Para isto, basta ir até o projeto no NetBeans e expandi-lo até encontrar o arquivo "persistence.xml", nele aponte para o nome 'JNDI' criado conforme exemplo
abaixo:
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="Projeto-PU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/Nome_da_minha_JNDI</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto"
value="update"/>
</properties>
</persistence-unit>
</persistence>
Obs.: este exemplo mostra a configuração utilizando o Hibernate, mas pode ser utilizado qualquer outro Framework que implemente a especificação JPA2, como o
'eclipse-link', entre outros.
Considerações finais
A utilização de pool de conexão se mostra uma excelente maneira de gerenciamento de transações de banco de dados para aplicações Java Web, pois a mesma
deixa transparente para o desenvolvedor detalhes que necessitam ser implementados manualmente, o que deixa o desenvolvimento sujeito a mais erros.
O objetivo deste tutorial não foi mostrar detalhes de especificação JPA2, e sim mostrar como criar essa conexão entre o GlassFish e o projeto Web.
Referências