Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

ActiveMQ Easy Config

Project description

ActiveMQ Easy Config

This project aims a easy way to setup a network of ActiveMQ brokers. You can change easily the topology and this script will create the configurations based on your setup. ActiveMQ Easy Config will produce for you:

  • An activemq.xml file for each broker with the specific configuration for the broker
  • A Docker image for each broker to easy adapt in your container orchestrator.
  • A script for run the docker image locally in order to test your network locally.

How it works?

Let's take an example of a duplex connection between two ActiveMQ brokers:

   +----------+                    +----------+
   |          |       Duplex       |          |  
   | Broker 1 | ---<-->----<-->--- | Broker 2 |
   |          |                    |          | 
   +----------+                    +----------+

First you have to define the yaml file with the configuration of your network:

  node1: "static:(tcp://node1:61616)"
  node2: "static:(tcp://node2:61616)"

    set_broker_name: "false"
      conduit_subscriptions: "false"
      consumer_ttl: "1"
      duplex: "true"
      message_ttl: "-1"
      physical_name: ">"
      user_name: "admin"
      conduit_subscriptions: "true"
      consumer_ttl: "1"
      duplex: "true"
      message_ttl: "-1"
      physical_name: ">"
      user_name: "admin"

        - node2
          duplex: "false"
          _ignore: "true"
        - node1

The first topic in the yaml will define the broker and your respective connection. If you intend to use docker, the address can be the broker name.

You can see a lot of examples of network of brokers in the directory templates. In the same directory you have an activemq.xml file used as base also.

After create your template you can just run:

python \
    --config templates/simple-duplex-config.yaml \
    --activemq templates/activemq.xml \
    --save-to /my/path/project

And you'll get the follow files as result:

  • node1.xml
  • node2.xml

Optionally if you pass a path to a Dockerfile and a registry name, the system will create:

  • Dockerfile

You can run to build the docker images and to run the containers in your local machine.

The docker image created can easily adapted to run on Kubernetes, Docker Swarm or ECS.

In the folder check you can run a simple producer/consumer to check the communication.



pip install aec

get from source

Just clone the repository.

git clone

To Do

Help here is appreciate :)

  • This configuration can be expanded to other features on ActiveMQ.
  • K8s implementation
  • Docker swarm implementation
  • ECS implementation

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aec, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size aec-0.1.3-py3-none-any.whl (5.7 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page