Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 150 lines (128 sloc) 6.32 KB
This file is an example configuration file for Apache ActiveMQ 5.6 or greater.
It is intended for users of the RadioVIS/RadioDNS system.
Note that 5.5 features a bug which prevents it from working properly with forward-slash destinations.
Therefore, use the 5.6 stable (when it comes out) or snapshots.
Based off the ActiveMQ distribution example configuration file
<!-- Allows us to use system properties as variables in this configuration file -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
The <broker> element is used to configure the ActiveMQ broker.
Note for RadioVIS we've disabled persistency entirely for this broker.
<broker xmlns="" brokerName="localhost" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true" persistent="false">
Don't do much here except for disabling producer flow control (because
we're trying to do mass distribution, not reliable messaging) and setting
our slow consumer strategy to drop slow clients.
We also up the memory limit and enable the VM cursor. Since we're sending
non-persistent messages, these limits are used.
<policyEntry topic=">" producerFlowControl="false" memoryLimit="16mb">
<vmCursor />
<policyEntry queue=">" producerFlowControl="false" memoryLimit="16mb">
The managementContext is used to configure how ActiveMQ is exposed in
JMX. By default, ActiveMQ uses the MBean server that is started by
the JVM. For more information, see:
<managementContext createConnector="false"/>
Set up a few plugins
This plugin handles what authenticated users can do - by default,
anyone can read, only admins can write. Advisory topics can be
written to and managed by guests, of course.
<authorizationEntry queue=">" read="guests,admins" write="admins" admin="admins" />
<authorizationEntry topic=">" read="guests,admins" write="admins" admin="admins" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="guests,users,admins" write="guests,users,admins" admin="guests,users,admins"/>
This plugin handles our RadioVIS usage of / in topic names as opposed to .
And finally we need to authenticate who gets let in! We permit anonymous access
(mapped to guest/guests) and set up a system account for our RadioVIS connector.
<simpleAuthenticationPlugin anonymousAccessAllowed="true" anonymousUser="guest" anonymousGroup="guests">
<authenticationUser username="system" password="someverysecretpasswordchangeme" groups="admins"/>
<authenticationUser username="guest" password="guest" groups="guests"/>
Since we're not using PFC (see our destinationPolicy block) and using
non-persistent messages, these limits are not all relevant to most
RadioVIS operations.
See for more info.
<memoryUsage limit="64 mb"/>
<storeUsage limit="1 gb"/>
<tempUsage limit="128 mb"/>
The transport connectors expose ActiveMQ over a given protocol to
clients and other brokers. For more information, see:
We enable Stomp (using the New I/O version in ActiveMQ) and WebSockets.
<transportConnector name="stomp+nio" uri="stomp+nio://"/>
<transportConnector name="websocket" uri="ws://"/>
Enable web consoles, REST and Ajax APIs and demos
Look at http://this-host:8161/admin for the web console.
Comment this out if you're not using it.
<import resource="jetty.xml"/>