A configuração que iremos demostrar é baseada nos servidores JBoss EAP 6, JBoss AS 7 e Wildfly.
Antes de continuarmos, caso precise identificar a versão mais adequada do driver Oracle a ser utilizada, consulte a postagem anterior Determinando o Driver JDBC Oracle Adequado.
Crie um módulo para o driver
A configuração destes servidores Java EE é baseada em módulos, um conceito que eles definem como "A Module is a logical grouping of classes used for class loading and dependency management", ou numa tradução livre "Um Módulo é um agrupamento lógico de classes utilizado para gestão de dependências e carga de classes". Então, para a nossa configuração precisamos criar um módulo.Os módulos são instalados em uma pasta
modules
na raiz da instalação do servidor, dentro desta pasta a estrutura muda de acordo com a versão do servidor, mas localize a pasta com
, por exemplo:-
$server_path$/modules/com
no caso do JBoss AS 7-
$server_path$/modules/system/layers/base/com
no caso do WildFly 9Dentro da pasta
com
, encontrada acima, crie 3 pastas: oracle/ojdbc7/main
, resultando em $modules_path$/com/oracle/ojdbc7/main
.Importante! A última pasta obrigatoriamente deve ser
main
.Observe que na configuração em teste o driver Oracle mais adequado é o
ojdbc7
, por questões de facilidade de manutenção é recomendável manter a estrutura de pastas de acordo com o driver sendo utilizado, então mude o nome da pasta de acordo com o driver que você estiver utilizando.O próximo passo é copiar o arquivo do driver (no caso,
ojdbc7.jar
) para dentro da pasta main
, e, nesta mesma pasta, criar um arquivo de nome module.xml
.module.xml
Abra o arquivo com seu editor de preferência e adicione o conteúdo:<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc7">
<resources>
<resource-root path="ojdbc7.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Atenção! É muito importante que o atributo
name
na linha 2 corresponda a estrutura de pastas criada no tópico anterior ignorando-se a pasta main
.Configurando o servidor
Agora precisamos configurar o servidor Java EE para que reconheça o módulo recém criado. Para isso precisamos modificar o arquivo de configuração que normalmente será ostandalone.xml
ou o standalone-full.xml
, ou outro arquivo de acordo com a forma de uso do servidor.No arquivo de configuração localize o trecho responsável pelas configurações dos
datasources
e adicione uma configuração de driver baseada no módulo:<subsystem xmlns="urn:jboss:domain:datasources:x.x">
<datasources>
[...]
<drivers>
[...]
<driver name="ojdbc7" module="com.oracle.ojdbc7">
<driver-class>oracle.jdbc.OracleDriver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>
Atenção! É muito importante que o atributo
module
na linha 6 corresponda ao atributo name
do arquivo module.xml
.Utilizando o módulo
O último passo necessário é configurar o recurso dedatasource
para que utilize o módulo criado, e a para isso basta configurar o atributo driver
:<subsystem xmlns="urn:jboss:domain:datasources:x.x">
<datasources>
[...]
<datasource jndi-name="java:jboss/datasources/NomeDS" pool-name="NomeDS" enabled="true">
<driver>ojdbc7</driver>
[...]
</datasource>
<drivers>
[...]
</drivers>
</datasources>
</subsystem>
Atenção! É muito importante que o atributo
driver
na linha 5 corresponda ao atributo name
do driver definido anteriormente.Consideraçõs
Nós verificamos como configurar o driver JDBC através da manipulação textual dos arquivos de configuração, a maioria das tarefas acima também podem ser feitas através da interface gráfica ou do console CLI do JBoss, isto é apenas uma preferência pessoal sem nenhuma consideração técnica.Até a próxima...
Nenhum comentário:
Postar um comentário
Olá! Antes de postar seu comentário, por favor, observe que comentários técnicos, elogios e sugestões são antecipadamente agradecidos, esclarecimentos sobre os conceitos envolvidos na postagem serão respondidos da melhor forma possível, mas pedidos de ajuda técnica ou suporte individual deverão ser feitos através do formulário de contato. Grato!