GOW

GOW

segunda-feira, 11 de agosto de 2025

Configurando o Wildfly para aceitar uma conexão com o PostgreSQL

 


        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/









Depois basta acessar localhost:8080/nomedaaplicacao. E ela já estará disponível online também pelo endereço do servidor, que é o endereço que fica depois do @ no WinSCP.


Pronto! Sua aplicação já está Online!

Nenhum comentário:

Postar um comentário