Criando um DataSource JNDI no JBoss
Ok, agora que temos uma aplicação grails rodando no ambiente jboss, temos que configurar um DataSource JNDI para ser usado, com isso evitamos que as credenciais e informações do banco fiquem diretamente configuradas em nossa aplicação.
Este procedimento é simples e facilmente descrito em dois simples passos:
- Driver do banco de dados: Você deve copiar o jar do driver JDBC do seu banco de dados para dentro da pasta <jboss_home>/common/lib
- Configuração do DataSource: No jboss ela é feita através de um arquivo XML. Após criar este arquivo, tenha certeza que o salvou dentro da pasta <jboss_home>/server/<seu_server>/deploy.
No meu caso, o arquivo se chama database-ds.xml e possui as seguintes tags (são altamente descritivas, acredito não precisar detalhar):
<?xml version="1.0" encoding="UTF-8" ?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/databaseDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/banco_dev</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>senha</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>30</max-pool-size>
<idle-timeout-minutes>1</idle-timeout-minutes>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</local-tx-datasource>
</datasources>
Agora para acessá-lo basta buscar pelo nome JNDI java:jdbc/databaseDS, ou no meu caso, como é uma aplicação grails, usar a declarativa no DataSources.groovy
production {
dataSource {
jndiName = "java:jdbc/databaseDS"
dbCreate = "update"
}
}
[...] Vale lembrar que estes dias postei sobre como criar um datasource no jboss e usá-lo em uma aplicação grails. Não deixe de ler também. [...]
Como, e por que usar um DataSource JNDI. at Lucas Teixeira
4 Mar 10 at 03:36
Lucas, vi vários blogs mostrando como usar jndi com tomcat, porém não obtive êxito em nenhum. tem alguma idéia de como posso usar o datasource externo com tomcat? minha app é em grails 1.1
Savio Freitas
9 Jun 11 at 09:03
Oi Savio, tudo certo?
O processo na aplicação é tão simples quanto o descrito no post.
Mas você precisa, é claro, configurar o tomcat de maneira diferente do JBOSS. Segue um link que pode te ajudar: http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
Tem inclusive alguns exemplos dependendo do seu banco de dados…
[]s,
Lucas Teixeira
9 Jun 11 at 09:21
Opa, deu só o filé com fritas… valeu.
Savio Freitas
9 Jun 11 at 10:05