Physical Address
Prague, Czechia, EU
Physical Address
Prague, Czechia, EU
ActiveMQ Artemis is a high-performance, asynchronous messaging system designed to efficiently manage message-driven applications. It supports various messaging protocols, including AMQP, MQTT, STOMP, OpenWire, and JMS, making it a versatile choice for integrating complex systems and microservices.
A single instance can handle up to millions messages per second!
You can download ActiveMQ Artemis directly from the official Apache ActiveMQ website:
.zip
or .tar.gz
format.Prerequisities: Java 17 or higher, SUDO privileges
Step 1: Extract the archive
tar -xzf apache-artemis-<version>-bin.tar.gz -C /opt/
or for .zip
file:
unzip apache-artemis-<version>-bin.zip -d /opt/
Step 2: Create group, user & permission
sudo addgroup --quiet --system activemq
sudo adduser --quiet --system --ingroup activemq \
--no-create-home --disabled-password activemq
sudo chown -R activemq:activemq /opt/apache-artemis-2.39.0/
Step 3: Create Broker instance
ActiveMQ Artemis cannot run directly from the unpacked directory. Instead one has to create a dedicated broker. The purpose of this extra step is to make it easier to upgrade as the broker implementation is separated from the data and configuration. Usually the directory is set to /var/lib/broker.
To create broker instance it is necessary to run following command
sudo /opt/artemis/bin/artemis create broker \
—user admin \
—password admin \
—silent \
—http-host 0.0.0.0 \
—http-port 8161 \
—relax-jolokia
When setting up an Apache ActiveMQ Artemis broker, you might need to access the management web console and Jolokia API remotely. Here’s what these options do:
–http-host 0.0.0.0 → Makes the web console accessible from any network, not just from localhost.
–http-port 8161 → Sets the port for the web console and Jolokia API (default is 8161).
–relax-jolokia → Allows remote access to Jolokia (JMX-over-HTTP) for monitoring.
These settings make remote management easier, but they also increase security risks. Always use firewalls, authentication, and access controls to protect your broker. 🚀
A broker instance directory will contain the following subdirectories:
bin
: holds execution scripts associated with this instance.etc
: hold the instance configuration filesdata
: holds the data files used for storing persistent messageslog
: holds rotating log filestmp
: holds temporary files that are safe to delete between broker runsFinally, to run the broker instance execute:
$ sudo /var/lib/test-broker/bin/artemis run
Once the broker instance starts we can access the admin console at http://<<hostname>>:8161/console.