JBoss Enterprise Application Platform 7.4
Este tópico descreve como o LumisXP deve ser instalado no servidor JBoss Enterprise Application Platform 7.4.
Nessa documentação, assume-se que a instalação do portal está situada em um caminho que a partir desse momento é simplesmente citado como $LUMIS_HOME. Também assume-se que a instalação do JBoss está situada em $JBOSS_HOME.
Instalação e atualização de módulos
Em $LUMIS_HOME/lib/jboss7/modules há os módulos que devem ser instalados no JBoss. Ele é composto de um módulo Lumis Shared (lumis/shared), módulos de drivers JDBC (lumis/jdbc).
Para instalar estes módulos, deve-se copiar o diretório $LUMIS_HOME/lib/jboss7/modules para $JBOSS_HOME/modules. Durante uma atualização, deve-se primeiro excluir o diretório antigo destes módulos (lumis/shared e lumis/jdbc em $JBOSS_HOME/modules) e depois instalá-los.
Configuração do perfil
A configuração do perfil dar-se-á de acordo com a arquitetura escolhida para a solução. Normalmente será em um dos arquivos standalone.xml, domain.xml ou host.xml (para maiores informações consultar a documentação do JBoss).
Na configuração, deve-se incluir as propriedades de sistema abaixo. Para isso inclua as propriedades como o exemplo abaixo. Caso não exista o elemento system-properties, adicione-o após </extensions>.
Na configuração, deve-se incluir o módulo Lumis no subsystem jboss:domain:ee
. Para isso, basta criar um nó de módulo global como a seguir:
Também deve-se aumentar o timeout de deployment para que o deploy do portal possa ser completo. Para isso, basta incluir (ou alterar de acordo) o atributo deployment-timeout
do nó deployment-scanner
no subsystem jboss:domain:deployment-scanner
. Esse tempo é medido em segundos e deve ser ajustado para as características do ambiente.
Também é necessária a inclusão de um security-domain no subsystem jboss:domain:security
. Para isso, basta adicionar um novo nó como a seguir:
Configurações de memória
As configurações de memória do JBoss estão definidas em standalone.conf/standalone.conf.bat ou domain.conf/domain.conf.bat, dependendo do modo que o JBoss será executado. Por padrão ele inclui a configuração -XX:MaxMetaspaceSize=256m que pode ser pouco para o LumisXP, e é recomendado aumentar para 512m. Isso é o suficiente para maioria dos portais simples, mas todas as configurações de memória devem ser revistas conforme as necessidades de cada solução ou ambiente.
Efetuar o deploy do portal
- Em modo standalone:
Copiar a pasta $LUMIS_HOME/www para a pasta de deploy da configuração standalone no JBoss ($JBOSS_HOME/standalone/deployments). A pasta copiada deve ser renomeada para <nome do contexto>.war (exemplo: portal.war , se o contexto é portal ). Também deve ser criado um arquivo em branco com o mesmo nome da pasta com a terminação .dodeploy (seguindo o exemplo, seria portal.war.dodeploy ).
- Em modo domain:
Gerar um arquivo de aplicação web ("WAR") a partir da pasta $LUMIS_HOME/www e efetuar a instalação do WAR via console administrativa do servidor de aplicação.
Criação e configuração do datasource
Este item descreve como configurar o LumisXP para utilizar um datasource no JBoss. Estes passos só são necessários se for desejado utilizar datasource.
Para o uso correto de datasource no portal, o módulo do driver JDBC correspondente ao banco de dados utilizado deve ser instalado no servidor de aplicação, assim como o módulo Lumis Shared. O local de origem do módulo será:
- para Oracle: $LUMIS_HOME/lib/jboss7/modules/lumis/jdbc/driver/oracle;
- para SQL Server: $LUMIS_HOME/lib/jboss7/modules/lumis/jdbc/driver/sqlserver;
- para MySQL: $LUMIS_HOME/lib/jboss7/modules/lumis/jdbc/driver/mysql
O módulo correspondente deve ser copiado para $JBOSS_HOME/modules (por exemplo, se o banco de dados utilizado for o Oracle, a estrutura de pastas deve ficar $JBOSS_HOME/modules/lumis/jdbc/driver/oracle/main).
O módulo também deve ser referenciado no arquivo de configuração, como no caso do módulo Lumis Shared. Para isso, basta inserir sua referência nos módulos globais, como destacado a seguir:
Depois de feito isso, o datasource pode ser criado no subsystem jboss:domain:datasources
, como o exemplo a seguir:
Dentro do nó datasources dois nós devem ser criados. Um nó driver, dentro do nó drivers, para definir o driver a ser utilizado e um nó datasource para a criação do datasource em si.
No nó de driver é importante definir:
- O nome do driver: vai ser o nome que o datasource vai referenciar como driver (no exemplo o nome usado é ojdbc14);
- O módulo que contém o driver: qual módulo possui esse driver (lumis.jdbc.driver.<tipo de banco de dados>, no exemplo é lumis.jdbc.driver.oracle);
- Classe do driver:
- para Oracle:
oracle.jdbc.driver.OracleDriver
; - para SQL Server:
net.sourceforge.jtds.jdbc.Driver
; - para MySQL:
com.mysql.cj.jdbc.Driver
- para Oracle:
No nó do datasource, definir:
- Nome JNDI: é o nome a ser referenciado no lumishibernate.cfg.xml;
- URL de conexão: a URL utilizada para a conexão;
- Driver: o nome do driver utilizado (utilizar o mesmo nome definido no nó de driver);
- Usuário e Senha: login de acesso à base de dados.
Passo extra para usuários de MySQL:
O driver do MySQL baixado descrito no tópico MySQL deve ser copiado para a pasta $JBOSS_HOME/modules/lumis/jdbc/driver/mysql/main e o arquivo module.xml (residente ao mesmo diretório) deve ser ajustado de acordo como o exemplo a seguir (exemplo para o driver mysql-connector-java-8.0.11.jar, o nome deve ser ajustado conforme o arquivo do driver que será utilizado):
Caso desejado, a senha do datasource pode permanecer criptografada. Para isso, deve-se gerá-la executando o seguinte comando no diretório $JBOSS_HOME:
java -cp modules\org\picketbox\main\picketbox-4.0.1.jar;modules\org\jboss\logging\main\jboss-logging-3.0.1.GA.jar org.picketbox.datasource.security.SecureIdentityLoginModule [SENHA]
Também é necessária a inclusão de um security-domain no subsystem jboss:domain:security
para armazenagem do usuário do datasource e da senha criptografada. Para isso, basta adicionar um novo nó como a seguir:
Nesse security domain, deve-se definir: usuário (no exemplo, USUÁRIO), senha criptografada (no exemplo, [SENHA CRIPTOGRAFADA]) e nome do security domain (no exemplo, portal-ds).
Após isso, deve-se alterar o nó security do datasource, removendo os nós user-name e password e adicionando um novo nó security-domain referenciando o security domain criado anteriormente, como a seguir:
Maiores informações sobre a configuração de datasources em https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuration-guide/chapter-13-datasource-management.
Configuração de parâmetros da JVM
Para o correto funcionamento do LumisXP, os seguintes parâmetros devem ser adicionados à JVM do JBoss EAP:
-
--add-opens=java.base/java.lang=ALL-UNNAMED
-
--add-opens=java.base/java.io=ALL-UNNAMED
Para maiores informações sobre como adicionar parâmetros à JVM do JBoss EAP, veja a sua documentação .