Ambiente Desenvolvimento e Produção: mudanças entre as edições
Linha 12: | Linha 12: | ||
** Deixamos de utilizar o SVN próprio e utilizar os repositórios privados do GitHub. | ** Deixamos de utilizar o SVN próprio e utilizar os repositórios privados do GitHub. | ||
** O Eclipse já vem com o '''EGit''' (plugin da própria eclipse instalado e com suporte) | ** O Eclipse já vem com o '''EGit''' (plugin da própria eclipse instalado e com suporte) | ||
= Instalação do WildFly = | |||
# Faça o ''''download'''' da versão homologada pelo BIS em https://www.wildfly.org/downloads/ | |||
# Descompacte o conteúdo em ''''C:\'''' | |||
== Definindo o caminho do Java == | |||
Para garantir que o WildFly utilizará o Java homologado, e não o java padrão disponível no sistema, é preciso forçar o caminho do JAVA_HOME em suas configurações. | |||
* '''No Windows''' | |||
** Edite o arquivo ''''WILDFLY_HOME\bin\standalone.conf.bat'''' | |||
** Procure a linha ''''rem set "JAVA_HOME=C:\opt\jdk1.6.0_23"'''', remova o 'rem' e a corrija para que aponte para o JDK homologado | |||
* '''No Linux''' | |||
** Edite o arquivo ''''WILDFLY_HOME\bin\standalone.conf'''' | |||
** Procure a linha ''''#JAVA_HOME="/opt/java/jdk"'''', remova o '#' e a corrija para que aponte para o JDK homologado | |||
=== Adicionando Usuário Administrador === | |||
# Execute o comando '''WILDFLY_HOME\bin\add-user'''' | |||
# Escolha a opção 'Management User' | |||
# Crie o usuário ''''bis'''' | |||
# Senha ''''biserp2003'''' | |||
# Deixe em branco os grupos adicionais do usuário (apenas pressione ENTER) | |||
# Confirme com ''''Yes'''' as próximas perguntas | |||
{{stop|Erro de JAVA no add-user|Se tiver problemas relacionado a versão do Java provavelmente é por estar utilizando uma versão do Java não compatível com o WildFly. Para executar o script, ou troque sua versão padrão do java para executar esse script, ou edite o arquivo '''add-user.bat''' e inclua a linha: | |||
<pre>set "JAVA_HOME=c:\Program Files\Java\jdk-20"</pre> | |||
antes do código que testa o Java Home: | |||
<pre>if "x%JAVA_HOME%" == "x" (</pre>}} | |||
[[Imagem:wildflyadduser.png|link=|center]] | |||
== Incluindo o Driver JDBC do MySQL == | |||
# Baixe o JDBC homologado pelo BIS | |||
## Para a versão 8.0.11: baixe com <pre>wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.11.tar.gz</pre> | |||
## Descompacte com <pre>sudo tar -xvf mysql-connector-java-8.0.11.tar.gz</pre> | |||
# Cria a pasta ''''WILDFLY_HOME\modules\system\layers\base\com\mysql\main'''' | |||
# Copie o JAR do JDBC para esta pasta | |||
# Crie um arquivo ''''module.xml'''' dentro da pasta com o seguinte conteúdo: | |||
<pre> | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<module name="com.mysql" xmlns="urn:jboss:module:1.9"> | |||
<resources> | |||
<resource-root path="mysql-connector-java-8.0.11.jar" /> | |||
</resources> | |||
<dependencies> | |||
<module name="javax.api"/> | |||
<module name="javax.transaction.api"/> | |||
</dependencies> | |||
</module> | |||
</pre> | |||
== Iniciando o Servidor == | |||
Para iniciar o servidor execute o comando ''''WILDFLY_HOME\bin\standalone''''. | |||
{{nota|Standalone Vs. Domain|Diferentemente da definição do Glassfish, o modo Domínio é utilizado para rodar múltiplas instâncias do WildFly distribuído em Cluster, Servidores, Etc. | |||
O BIS por enquanto não tem necessidade de rodar em um ambiente dividido em múltiplos servidores e domínios, por isso é executando no modo standalone tanto no ambiente de Homologação quanto de Produção.}} | |||
== Configuração do Datasource == | |||
'''Configuração do Driver JDBC''' | |||
# Com o servidor já em execução, acesse o ''''Painel de Administração''''. | |||
# Acesse ''''Configuratoin -> Subsystem -> Datasources & Drivers -> JDBC Drivers''''. | |||
# Clique no botão de ''''+'''' para adicionar uma nova configuração do Driver do MySQL | |||
#: [[File:wildflyDatasource1.png|thumb|700px|center]] | |||
# Complete os campos com as seguintes informações: | |||
## Driver Name - '''MySQL''' | |||
## Driver Module Name - '''com.mysql''' | |||
## Driver Class Name - '''com.mysql.cj.jdbc.Driver''' | |||
## Driver XA Datasource Class - '''com.mysql.cj.jdbc.MysqlXADataSource''' | |||
#: [[File:wildflyDatasource2.png|thumb|700px|center]] | |||
'''Configuração do DataSource''' | |||
# Acesse ''''Configuratoin -> Subsystem -> Datasources & Drivers -> Datasources''''. | |||
# Clique no Botão ''''+'''' e escolha a opção ''''Add Datasoruce''' para adicionar um novo DataSource. (Não seleciona a opção XA!) | |||
# Escolha a opção ''''Custom''''. Apesar de existir uma opção do MySQL, ela não permite as configurações necessárias. | |||
# Em '''Atributes''' preencha com: | |||
## Name - '''BISDS''' | |||
## JNDI Name - '''java:/jdbc/BISDS''' | |||
# Em '''JDBC Driver''' apenas escolha o driver que configuramos anteriormente '''MySQL''' | |||
# Em '''Connection''' complete com: | |||
## Connectino URL - '''jdbc:mysql://localhost:3306?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=America%2FSao_Paulo''' | |||
## User Name - '''Usuário do MySQL''' | |||
## Password - '''Senha do MySQL''' | |||
## Security Domain - deixar em branco | |||
# Teste a conexão e finalize a criação do DS | |||
{{stop|Falha no Teste da Conexão|Algumas vezes, por algum erro, a conexão com o banco de dados falha. Mesmo voltando, arrumando e tentando realizar um novo teste a conexão com o banco falha. Parece que o WildFly tem algum BUG neste sentido. Pois já tive casos de o teste da conexão falhar, e concluí a configuração - apertando finish - e depois que a conexão foi inserida e o servidor 'reloaded', o teste de conexão resultar em sucesso.}} | |||
=== Configurações Adicionais Servidor Produção === | |||
==== TimeZone ==== | |||
Embora a partir da versão 10 o BIS utilize o LocalDate, o sistema ainda apresenta alguns "pontos falhos" em que se utilizar do TimeZone do sistema. Por isso é necessário que o servidor esteja configurado para o TimeZone ''''America/Sao_Paulo''''. | |||
'''Configurando o TimeSync Service no Amazon Linux''' | |||
# Exclua o NTP atual: | |||
#: <pre>sudo yum erase 'ntp*'</pre> | |||
# Instale o Chrony: | |||
#: <pre>sudo yum install chrony</pre> | |||
# Configure o NTP da Amazon (Talvez o mais recomendado seja instalar o NTP brasileiro, mas confiando que o da amazon terá os horários de verão configurados corretamente, mantive). Edite o arquivo '''/etc/chrony.conf'''. Se a linha não existir crie-a depois das instruções '''server''' ou '''pool'''. Caso exista, recomendo que passe para baixo de todas. | |||
#: <pre>sudo nano /etc/chrony.conf</pre> | |||
#: <pre>server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4</pre> | |||
# Reinicie o serviço: | |||
#: <pre>sudo service chronyd restart</pre> | |||
#: Para visualizar se o server está sendo utilizado corretamente, utilize o comando: | |||
#: <pre>chronyc sources -v</pre> | |||
#: Ou as métricas de sincronização com: | |||
#: <pre>chronyc tracking</pre> | |||
'''Configurando o TimeZone''' | |||
Para ver os TimeZones disponíveis navegue dentro da pasta '''/usr/share/zoneinfo'''. Neste tutorial já vamos configurar para '''America/Sao_Paulo'''. | |||
# Abra o arquivo '''/etc/sysconfig/clock''' | |||
#: <pre>sudo nano /etc/sysconfig/clock</pre> | |||
# Altere seu conteúdo conforme abaixo: | |||
#: ZONE="America/Sao_Paulo" | |||
#: UTC=true | |||
# Crie um symLink para o arquivo de TimeZone correspondente, conforme exemplo abaixo: | |||
#: <pre>sudo ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime</pre> | |||
# Reinicie a instância | |||
#: <pre>sudo reboot</pre> | |||
# Verifique a data com | |||
#: <pre>date</pre> | |||
= Eclipse = | = Eclipse = |
Edição das 19h35min de 22 de julho de 2023
Ambiente e Versões Homologados
Registro das versões e sistema utilizados durante o processo de certificação do ambiente:
- Java
- jdk-20.0.2 x64bits - Para servidor de aplicações
- jdk-8u301 - Para alguns módulos e aplicações quando necessário. Deve ser documentado no módulo o uso da versão 32 ou 64 bits.
- IDEs
- Eclipse: eclipse-jee-2023-06-R-win32-x86_64.zip
- Servidor de Aplicações
- wildfly-29.0.0.Final
- Versionamento
- Deixamos de utilizar o SVN próprio e utilizar os repositórios privados do GitHub.
- O Eclipse já vem com o EGit (plugin da própria eclipse instalado e com suporte)
Instalação do WildFly
- Faça o 'download' da versão homologada pelo BIS em https://www.wildfly.org/downloads/
- Descompacte o conteúdo em 'C:\'
Definindo o caminho do Java
Para garantir que o WildFly utilizará o Java homologado, e não o java padrão disponível no sistema, é preciso forçar o caminho do JAVA_HOME em suas configurações.
- No Windows
- Edite o arquivo 'WILDFLY_HOME\bin\standalone.conf.bat'
- Procure a linha 'rem set "JAVA_HOME=C:\opt\jdk1.6.0_23"', remova o 'rem' e a corrija para que aponte para o JDK homologado
- No Linux
- Edite o arquivo 'WILDFLY_HOME\bin\standalone.conf'
- Procure a linha '#JAVA_HOME="/opt/java/jdk"', remova o '#' e a corrija para que aponte para o JDK homologado
Adicionando Usuário Administrador
- Execute o comando WILDFLY_HOME\bin\add-user'
- Escolha a opção 'Management User'
- Crie o usuário 'bis'
- Senha 'biserp2003'
- Deixe em branco os grupos adicionais do usuário (apenas pressione ENTER)
- Confirme com 'Yes' as próximas perguntas
![]() |
|

Incluindo o Driver JDBC do MySQL
- Baixe o JDBC homologado pelo BIS
- Para a versão 8.0.11: baixe com
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.11.tar.gz
- Descompacte com
sudo tar -xvf mysql-connector-java-8.0.11.tar.gz
- Para a versão 8.0.11: baixe com
- Cria a pasta 'WILDFLY_HOME\modules\system\layers\base\com\mysql\main'
- Copie o JAR do JDBC para esta pasta
- Crie um arquivo 'module.xml' dentro da pasta com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?> <module name="com.mysql" xmlns="urn:jboss:module:1.9"> <resources> <resource-root path="mysql-connector-java-8.0.11.jar" /> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Iniciando o Servidor
Para iniciar o servidor execute o comando 'WILDFLY_HOME\bin\standalone'.
![]() |
|
Configuração do Datasource
Configuração do Driver JDBC
- Com o servidor já em execução, acesse o 'Painel de Administração'.
- Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> JDBC Drivers'.
- Clique no botão de '+' para adicionar uma nova configuração do Driver do MySQL
- Complete os campos com as seguintes informações:
- Driver Name - MySQL
- Driver Module Name - com.mysql
- Driver Class Name - com.mysql.cj.jdbc.Driver
- Driver XA Datasource Class - com.mysql.cj.jdbc.MysqlXADataSource
Configuração do DataSource
- Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> Datasources'.
- Clique no Botão '+' e escolha a opção 'Add Datasoruce para adicionar um novo DataSource. (Não seleciona a opção XA!)
- Escolha a opção 'Custom'. Apesar de existir uma opção do MySQL, ela não permite as configurações necessárias.
- Em Atributes preencha com:
- Name - BISDS
- JNDI Name - java:/jdbc/BISDS
- Em JDBC Driver apenas escolha o driver que configuramos anteriormente MySQL
- Em Connection complete com:
- Connectino URL - jdbc:mysql://localhost:3306?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=America%2FSao_Paulo
- User Name - Usuário do MySQL
- Password - Senha do MySQL
- Security Domain - deixar em branco
- Teste a conexão e finalize a criação do DS
![]() |
|
Configurações Adicionais Servidor Produção
TimeZone
Embora a partir da versão 10 o BIS utilize o LocalDate, o sistema ainda apresenta alguns "pontos falhos" em que se utilizar do TimeZone do sistema. Por isso é necessário que o servidor esteja configurado para o TimeZone 'America/Sao_Paulo'.
Configurando o TimeSync Service no Amazon Linux
- Exclua o NTP atual:
sudo yum erase 'ntp*'
- Instale o Chrony:
sudo yum install chrony
- Configure o NTP da Amazon (Talvez o mais recomendado seja instalar o NTP brasileiro, mas confiando que o da amazon terá os horários de verão configurados corretamente, mantive). Edite o arquivo /etc/chrony.conf. Se a linha não existir crie-a depois das instruções server ou pool. Caso exista, recomendo que passe para baixo de todas.
sudo nano /etc/chrony.conf
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
- Reinicie o serviço:
sudo service chronyd restart
- Para visualizar se o server está sendo utilizado corretamente, utilize o comando:
chronyc sources -v
- Ou as métricas de sincronização com:
chronyc tracking
Configurando o TimeZone
Para ver os TimeZones disponíveis navegue dentro da pasta /usr/share/zoneinfo. Neste tutorial já vamos configurar para America/Sao_Paulo.
- Abra o arquivo /etc/sysconfig/clock
sudo nano /etc/sysconfig/clock
- Altere seu conteúdo conforme abaixo:
- ZONE="America/Sao_Paulo"
- UTC=true
- Crie um symLink para o arquivo de TimeZone correspondente, conforme exemplo abaixo:
sudo ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
- Reinicie a instância
sudo reboot
- Verifique a data com
date
Eclipse
Instalação
- Baixe o eclipse diretamente do site Eclipse Fundation.
- Instale descompactando o .zip em seu local de preferência.
Definição da VM para Execução do Eclipse
Se precisar definir a VM para execução (inicialização) do Eclipse. Edite o arquivo eclipse.ini na raiz do eclipse, e inclua/modifique os parâmetros como o exemplo abaixo:
-vm c:/Program Files/Java/jdk-19/bin/javaw.exe
![]() |
|
JAutoDoc
Este plugin permite que todo o javaDoc criado para um "field" (atributo da classe) seja replicado automaticamente nos métodos Get e Set ao pressionar a tecla de atalho 'CTRL+ALT+J'.
Instalação pelo MarketPlace
- Vá em 'Help -> Eclipse Marketplace' e procure por 'JAutoDoc'.
- Clique em Instalar siga os passos e Reinicie quando solicitado
Configuração do Módulo
- Após a instalação vá no menu 'Windows > Preferences', no caminho 'Java > JAutoDoc' e clique no botão 'Import All...' para importar as configurações usadas no projeto BIS.
- O arquivo com as opções salvas ficam no projeto 'BIS' no arquivo 'etc\Environment Setup\jautodoc-eclipse.xml'.
Configurando o JDK e Bibliotecas no Eclipse
Ao carregar o pom.xml do Maven, o Eclipse configurará o projeto para utilizar o Execution Environment de acordo com a versão do JDK definida no arquivo. Por isso, é importante que o Execution Environment do Eclipse esteja apontando para o JDK homologado. Atualmente o Execution Environment é o JavaSE-1.8.
![]() |
|
- Vá em 'Windows -> Preferences -> Java -> Installed JREs'
- Adicione a instalação do JDK homologado apontando para a pasta do JDK de 64 bits homologado.
- Repita o passo anterior para a versão do JDK de 32 bits homologado.
- Vá em 'Windows -> Preferences -> Java -> Installed JREs -> Execution Environment e em JavaSE-1.8 escolha o JDK 64bits homologado.
![]() |
|
Configurando o WildFly
Antes de configurar o Servidor é necessário baixar o plugin do servidor.
- Vá na aba 'Servidor e click para criar um novo servidor.
- Na tela que se abre, escolha 'JBoss AS, WildFly, & EAP Server Tools' e clique em Next. Este passo pode demorar.
- Termine os passos do Wizard até finalizar. Aguarde o fim da instalação e reinicie se for solicitado.
- Após o término e reinicio do Eclipse, volte à aba 'Servers' e clique em adicionar um novo servidor novamente.
- Desta vez escolha a opção 'WildFly27+', e deixe o Server Name como 'WildFly'.
- Clique em 'Next.
- Na próxima imagem escolha a opção 'Management Operation' para que o Eclipse controle o WildFly corretamente.
- * Para que o eclipse controle adequadamente o a instalação do WildFly precisa ser realizada como orientado nesta página.}}
- Na definição de RunTime, selecione o ambiente conforme homologado.
- Clique em Finish