Tecnologia – Wildfly – Como configurar o ArtemisMQ para a configuração de multidomínio do Gestão do ponto
Dúvida
Como configurar o ArtemisMQ para a configuração de multidomínio do Gestão do ponto?
Solução
Para que o balanceamento entre os domínios funcione é necessária uma camada de Mensageria JMS para balanceamento das filas de requisição, para isso utilizamos o ActiveMQ Artemis.
Observação: No Glassfish era utilizado o OpenMQ como mensageria JMS, porém para o Wildfly utilizamos o ActiveMQ Artemis. Em casos de migração do Glassfish para o Wildfly, deverão configurar o ActiveMQ Artemis para que funcione no Wildfly.
A versão homologada do ActiveMQ Artemis pela Senior é a versão 2.34.0, segue abaixo link para download:
https://archive.apache.org/dist/activemq/activemq-artemis/2.34.0/apache-artemis-2.34.0-bin.zip
Esse item aqui, acho que podemos documentar nas plataformas homologadas da versão 6.10.4!!!
Para criação e configuração do Broker, siga os passos abaixo:
- Efetue o download do ActiveMQ Artemis na versão 2.34;
- Descompacte o arquivo .zip em uma pasta definitiva;
- Execute o CMD como administrador;
- Acesse a pasta bin do Artemis;
- Digite o seguinte comando artemis create <diretório>;
Observação: Em <diretório> informe o caminho da pasta em que deseja criar o Broker. - Digite o usuário que deseja criar para acesso ao Artemis;
- Digite a senha deste usuário;
- Digite uma das opções para definir se permitirá o acesso anônimo ao Artemis, possíveis valores: Y = Sim, N = Não, True = Verdadeiro, False = Falso;
Após a criação do Broker precisamos iniciar o mesmo para efetuar as configurações, onde podemos iniciar o Broker manual pelo CMD ou então instalar o mesmo como serviço, conforme passos abaixo:
Para iniciar manualmente o Broker, siga os passos abaixo:
- Execute o CMD como administrador;
- Acesse do diretório <Apache-Artemis> \ bin;
- Digite o comando artemis run.
Para instalar o Broker como serviço, siga os passos abaixo:
- Execute o CMD como administrador;
- Acesse o diretório <apache-artemis> \ <broker> \ bin;
- Execute o seguinte comando artemis-service.exe install.
Com o Broker instalado e rodando, precisamos vincular o Socket Binding do Gestão do ponto ao Broker.
Para isso devemos configurar o Socket Binding vinculando a porta do Broker, que por padrão é a porta 61616, conforme passos abaixo:
- Acesse a console administrativa do Wildfly, por padrão é a porta 9990;
- Digite o usuário e senha do admin, por padrão admin/adminadmin;
- Acesse o menu Configuration / Socket Binding;
- Em Socket Binding Group, selecione o Socket Binding do Gestão do ponto e clique em View;
- Acesse o menu Outbound Remote;
- Clique em Add;
6.1. Digite o nome remote-artemis, no campo Name;
6.2. Digite o nome do servidor do Artemis, no campo Host;
6.3. Digite a porta do Artemis, por padrão 61616, no campo Port;
6.4. Clique em Add.
Precisamos também vincular o Profile do Wildlfy com o remote-artemis criado anteriormente.
Para vincular o Profile ao Artemis, siga os passos abaixo:
- Acesse o menu Configuration / Profiles;
- Em Profile, selecione o Profile do Gestão do ponto;
- Em Subsystem, acesse o menu Messaging;
- Em Category, acesse o menu Server;
- Em Server, acesse o menu Default;
- Em Settings, clique no menu Connections e clique em View;
- Posicione o mouse no menu Connector e selecione a opção Remote;
- Clique em Add;
- Digite o nome remote-artemis nos campos Name e Socket Binding;
Observação: No Socket Binding não irá aparecer a opção remote-artemis, por isso deve ser digitado. - Clique no botão Save.
- Ainda na mesma tela Connections;
- Acesse o menu Pool Connection Factory;
- Clique em ActiveMQ-ra e clique em Edit;
- No campo Connectors, digite remote-artemis e selecione a opção remote-artemis e remova qualquer outra chave que esteja configurada;
- Assim a única opção que deve estar selecionada é a do remote-artemis;
- Ainda na tela de Connection;
- Acesse o menu Connection Factory e adicione o remote-artemis, no campo Connectors, para todas conexões do Gestão do ponto, conforme já explicado acima;
- Nessas conexões altere o campo Reconnect Attempts para -1 também.
Observação: Segue lista das connections que devem ser alteradas:
NotificationConnectionFactory
ProcessoColetivoFactory
RONDAG6AcertoFactory
RONDAG6ConnectionFactory
SeniorTopicFactory - Salve, ao final da página, a cada alteração de cada connection.
- Reinicie o serviço do Wildfly e do ActiveMQ Artemis para que as configurações sejam aplicadas.
Com isso fechamos o vínculo do Artemis com o Wildlfy.
Observação: O balanceamento das requisições HTTP continuam no Apache como já é hoje com o Glassfish.
Nos casos onde o balanceamento onde os domínios do Wildfly ficam em servidores (máquinas) diferentes, precisamos configurar o Wildfly para que funciona com o conceito de Domain Controller e Host Controller, para isso verifique a seguinte documentação: Tecnologia - Wildfly - Como configurar o Wildfly para funcionar com Domain Controller e Host Controller