No tópico anterior eu postei sobre como criar DataSources no Tomcat. Neste post, irei explicar como criar DataSources no JBoss. É necessário que o leitor conheça o servidor JBoss, conexões e drivers JDBC.
No JBoss a configuração é semenhante, difere do Tomcat em alguns detalhes. Bem, vamos ao que interessa. Os passos a seguir partem do princípio que o JBoss foi iniciado da forma padrão (default):
1 – Salvar o driver de conexão com o banco de dados no diretório de libs do JBoss ($JBOSS_HOME/server/default/lib/);
2 – No diretório de deploy ($JBOSS_HOME/server/default/deploy/) salvar um arquivo XML com o nome do DataSource MAIS “-ds”. Normalmente, se utiliza para o nome do DataSource o nome da aplicação (apenas uma convenção). Exemplo:
meusite.war –> nome do arquivo WAR da aplicação
meusite-ds.xml –> nome do XML que terá a descrição dos datasources da aplicação meusite.war
Exemplo de arquivo ds-xml para o postgreSQL:
<?xml version="1.0" encoding="UTF-8" ?> <datasources> <local-tx-datasource> <jndi-name>jdbc/meusite-ds</jndi-name> <connection-url>jdbc:postgresql://localhost:5432/nome_banco</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>usuario_banco</user-name> <password>senha_banco</password> <min-pool-size>1</min-pool-size> <max-pool-size>100</max-pool-size> <idle-timeout-minutes>1</idle-timeout-minutes> <prepared-statement-cache-size>32</prepared-statement-cache-size> </local-tx-datasource> </datasources>
3 – Incluir no web.xml o recurso JNDI a ser usado:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <!-- dados do seu web.xml .... --> <resource-ref> <res-ref-name>jdbc/meusite-ds</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
4 – Código Java para se obter uma conexão pelo pool:
InitialContext initCtx = new InitialContext(); DataSource ds = (DataSource) initCtx.lookup( "java:jdbc/meusite-ds" ); Connection con = ds.getConnection();
Espero ter ajudado!
Referência: http://www.jboss.org/community/wiki/ConfigDataSources
Abraço!
boa… otimo post como sempre..
Acabei de usar esse post! 😀
Simples e objetivo… excelente!
ah! só um detalhe… a primeira linha do XML tem um espaço no terceiro caracter que causa um erro de conversão:
o certo seria:
É verdade… código corrigido 🙂
Obrigado Mari!