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