Para usar o Wildfly com PostgreSQL temos que colocar
dentro do Wildfly uma cópia do driver
.jar do PostgreSQL e um arquivo chamado module.xml. O local aonde colocamos este arquivo varia de acordo
com versões do Wildfly, principalmente entre versões do JBoss, que é a versão
mais antiga do Container e a versão atual. O Openshift até tenta fazer isso de
forma automática quando criamos a aplicação no servidor e selecionamos Wildfly
e o PostgreSQL, mas justamente por causa dessa variação que ocorre nas versões,
ele acaba colocando os arquivos no local errado e não funciona.
Tenha em mãos o .jar
do PostgreSQL na versão correta e o arquivo module.xml, coloque ambos em uma pasta no seu computador, no meu
caso como eu tenho um servidor configurado na máquina local eu irei pegar de
lá.
O driver do banco vem quando se instala o PostgreSQL na
máquina e fica em uma pasta chamada pgJDBC, mas pode ser baixado do site do
Postgre também separadamente. Para quem não tem o arquivo module.xml basta
criar um com o conteúdo abaixo:
<?xml version="1.0"
encoding="UTF-8"?>
<module
xmlns="urn:jboss:domain: datasources:2.0"
name="org.postgresql">
<resources>
<resource-root
path="postgresql-9.2-1002. jdbc4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module
name="javax.transaction.api"/>
</dependencies>
</module>
Vamos
copiar os arquivos, lembre-se de estar com o WinSCP aberto e conectado com o
servidor como mostrado no post anterior. O que aparece do lado esquerdo é a sua máquina local, e do lado direito é o servidor na nuvem. O
que está marcado de vermelho é para auxiliar a navegar na sua máquina,
onde você pode escolher o diretório para navegar. o mesmo acontece no
lado servidor.
Do lado esquerdo navegue até a pasta onde está os .jar e o module.xml. Do lado direito que é o lado do servidor entre no seguinte caminho:
Wildfly/modules/system/layers/ base/org
Você verá várias pastas, crie uma pasta chamada postgresql e dentro crie uma pasta chamada main onde irão ficar o .jar e o arquivo module.xml. No lado esquerdo selecione os 2 arquivos e clique com o botão direito escolhendo a opção upload.
Pronto! O Wildfly irá
conseguir se conectar com o Postgresql quando criarmos a conexão com o
banco no momento do deploy. agora vamos para o próximo passo que é
conectar o PostgreSQL como se fosse local através do pgAdmin III para criarmos o banco.
Configurando o PostgreSQL para acesso local ao servidor via SSH
Para
administrarmos o PostgreSQL, é necessário ter a versão instalada na máquina e o
pgAdmin III também instalado. O que vamos fazer é criar um túnel SSH que
permite acessarmos de modo seguro o banco da WEB que se encontra no servidor
remoto como se estivesse localmente.
Primeiro
vamos criar o “túnel SSH” para podermos conectar o banco como em um servidor
local. Abra o prompt de comando e digite:
rhc
port-forward nome-da-sua-aplicação
Irá
ser solicitado a sua senha de acesso ao Openshift 2 vezes, e então a conexão
será feita e será exibido uma lista mostrando o endereço local de cada serviço
e o endereço remoto correspondente.
Note que o endereço local 127.0.0.1:8080 irá dar o acesso a
página inicial do Wildfly, o endereço 127.0.0.1:9990 irá dar acesso ao
painel de administração do Wildfly e o endereço 127.0.0.1:51461 pertence
ao banco de dados. (Confira se a porta do BD é igual no seu caso).
Deixe o prompt aberto nesse ponto, pois enquanto estiver aberto, o nosso
túnel SSH está ativo.
Abra o pgAdmin III e clique em file, e depois em Add Server...
Na próxima tela, preencha um nome qualquer para o
servidor, o host coloque 127.0.0.1, na porta, coloque a porta
especificada no prompt de comando, e em username e password coloque os
dados que foram exibidos no omento da criação da aplicação. Caso não
tenha esses dados, acessando sua aplicação pelo site do Openshift é
possível conseguir.
Basta confirmar para criar o servidor. (Para que isto
funcione o prompt precisa estar aberto na tela de aguardo). Pronto,
enquanto o prompt permanecer aberto e como mostrado à cima você poderá
usar normalmente o PostgreSQL como se o servidor de banco estivesse na
sua máquina. Pode criar seu banco e suas tabelas de acordo com sua
necessidade. E depois do banco criado estamos prontos para fazer o Deploy! Que será nosso próximo e último passo...
Fazendo o deploy de uma aplicação JEE.
Antes
de exportar o .war da sua aplicação no eclipse ou seja qual for a sua
IDE, lembre-se de alterar os dados de acesso ao banco para os fornecidos
pela Openshift. Qualquer dúvida, você pode digitar no prompt de
comando:
rhc app-show nome-da-aplicacao
E será exibido url, usuário e senha para a conexão Java com o banco.
Agora que já
temos tudo configurado, o que temos que fazer é o Deploy. Abra o WinSCP e faça
a transferência do arquivo .war da sua aplicação para a pasta:
wildfly/standalone/ deployments/
Nenhum comentário:
Postar um comentário