This page covers common configuration steps for Apache ActiveMQ Classic deployments.
| File | Purpose | Location |
|---|---|---|
activemq.xml |
Main broker configuration | /opt/activemq/conf/ |
jetty.xml |
Web console configuration | /opt/activemq/conf/ |
credentials.properties |
User credentials | /opt/activemq/conf/ |
groups.properties |
User groups | /opt/activemq/conf/ |
<beans>
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost"
dataDirectory="${activemq.data}">
<!-- Persistence adapter -->
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
<!-- Transport connectors -->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883"/>
</transportConnectors>
</broker>
</beans>
Edit credentials.properties:
# Defines users and passwords
admin=admin_password
user=user_password
Edit groups.properties:
# Defines user groups
admins=admin
users=user
Configure authorization in activemq.xml:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="admin" password="admin_password" groups="admins"/>
<authenticationUser username="user" password="user_password" groups="users"/>
</users>
</simpleAuthenticationPlugin>
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" write="admins" read="admins" admin="admins"/>
<authorizationEntry queue="public.>" write="users" read="users" admin="users"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
Change the default web console port:
<bean id="Connector" class="org.eclipse.jetty.server.nio.ServerConnector">
<property name="port" value="8161"/>
</bean>
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
Restart ActiveMQ after configuration changes:
sudo systemctl restart activemq
# Check broker status
/opt/activemq/bin/activemq status
# Test connection
/opt/activemq/bin/activemq admin browse --queue test-queue
Every ActiveMQ deployment is unique. We provide consulting for:
Get personalized assistance: office@linux-server-admin.com | Contact Page