Configurar Datasources no JBoss

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!

Deixe um Comentário

4 Comentários.

  1. boa… otimo post como sempre..

  2. Acabei de usar esse post! 😀
    Simples e objetivo… excelente!

  3. 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:

  4. É verdade… código corrigido 🙂

    Obrigado Mari!

Deixe um Comentário


NOTA - Você pode usar estesHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>