ActiveMQ Artemis – Configurando acesso externo para seu domínio

Considerando que já temos o Artemis instalado e configurado em nossa maquina, vamos realizar a configuração para liberar seu domínio para ser acessível externamente.

O processo baseia-se em alterar dois arquivos da pasta etc de sua instância, o bootstrap.xml e o jolokia-access.xml.

Caso ainda não tenha o Artemis instalado e configurado acesse a pagina da documentação oficial: https://activemq.apache.org/components/artemis/documentation/ – Em uma outra oportunidade farei um post sobre isso.

Para os próximos passos vamos considerar que estamos no seguinte diretório: {HOME_ARTEMIS}/{SEU_BROKER}/

Edite o arquivo etc/bootstrap.xml e edite a linha aonde se encontra a menção a localhost, substitua-o pelo seu domínio;

<!-- The web server is only bound to localhost by default -->
<web bind="http://artemis.helpdev.com.br:8161" path="web">

O mesmo procedimento deve ser realizado no arquivo etc/jolokia-access.xml:

<!-- Allow cross origin access from localhost ... -->
<allow-origin>*://artemis.helpdev.com.br*</allow-origin>

Reinicie o serviço e seu broker já estará disponível para seu domínio.

[Docker] [ActiveMQ] Docker-compose do ActiveMQ Artemis

artemis-logo

Apache ActiveMQ é um message brocker de código aberto feito em Java, suporta diferentes tipos de protocolo como AMQP, STOMP, MQTT e JMS.

“Apache ActiveMQ™ is the most popular open source, multi-protocol, Java-based messaging server. It supports industry standard protocols so users get the benefits of client choices across a broad range of languages and platforms. Connectivity from C, C++, Python, .Net, and more is available. Integrate your multi-platform applications using the ubiquitous AMQP protocol. Exchange messages between your web applications using STOMP over websockets. Manage your IoT devices using MQTT. Support your existing JMS infrastructure and beyond. ActiveMQ offers the power and flexibility to support any messaging use-case. There are currently two “flavors” of ActiveMQ available – the “classic” 5.x broker and the “next generation” Artemis broker. Once Artemis reaches a sufficient level of feature parity with the 5.x code-base it will become ActiveMQ 6. Initial migration documentation is available.” http://activemq.apache.org

A nova versão do ActiveMQ Artemis foi disponibilizada recentemente com uma documentação muito boa inclusive com ja com a criação do Docker, veja mais sobre a documentação em:

https://activemq.apache.org/components/artemis/

Sobre o Docker eles disponibilizaram um repositório no GitHub com o Dockerfile e scripts para a criação da imagem:

https://github.com/apache/activemq-artemis/tree/master/artemis-docker

Porém gostei muito da implementação do VROMERO, que encontrei no hub.docker:

https://hub.docker.com/r/vromero/activemq-artemis

Atravéz desses dados gerei um docker-compose para sua inicialização:

version: '3.3'

services:

  amq:
    image: vromero/activemq-artemis:latest-alpine
    container_name: activemq
    environment:
      ARTEMIS_USERNAME: user-amq
      ARTEMIS_PASSWORD: password-amq
    ports:
      - 8161:8161
      - 61616:61616

Vale a pena olhar a implementação do vromero/activemq-artemis em seu repositório para uma customização mais completa do compose:

https://github.com/vromero/activemq-artemis-docker