Primeiras Impressões
Estou iniciando um projeto utilizando Java EE 6 no JBoss AS 7 e as primeiras impressões do Servidor são as melhores. A inicialização é muito rápida, comparando com as versões anteriores e está mais leve para executar em maquinas menos possantes. A “modularização” dos serviços está mais clara e fácil de configurar. O web console ficou mais limpo e melhorou a usabilidade. Até então só executei o modo standalone, mesmo assim, pelos webcasts que assisti o modo domain também está bem simples de configurar e utilizar.
Primeiros Problemas
Apanhei um pouco para configurar um datasource para o banco de dados PostgreSQL. Mesmo seguindo o ótimo tutorial How to create and manage datasources in AS7 do Stefano Maestri, a aplicação teimava em não encontrar o datasource.
Pesquisando um pouco, verifiquei que há um bug aberto (Jira #AS7-109) na configuração on-line de datasources através do web console. A interface não permite criar o nome JNDI corretamente, aparentemente inverteram as validações do nome do datasource e do nome JNDI.
A solução mais simples para este caso é inserir a configuração do datasource no arquivo standalone.xml:
<datasource jndi-name="java:jboss/datasources/PostgreSQL" pool-name="PostgreSQL" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:postgresql://localhost:5432/teste</connection-url>
<driver>postgresql-9.0-801.jdbc4.jar</driver>
<pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>postgres</user-name>
<password>postgress</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<useFastFail>false</useFastFail>
</validation>
</datasource>
Uma observação no meu caso foi que como fiz o deploy do driver através do web console, o nome do driver no datasource deve ser o mesmo nome do deploy, neste caso do nome do arquivo postgresql-9.0-801.jdbc4.jar.
Próximos Passos
Com o datasoure configurado e o JPA funcionando corretamente, o próximo passo será criar um tela de login simples utilizando o sistema de segurança do container.
