Running a network of brokers
The servers participating in a network of brokers must have a <networkConnections> element in their activemq.xml. Do note that the elements within the <broker> elements *must* appear alphabetically - otherwise the server will fail without notice!
This is the configuation file for instance1 on sandkasse-01:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="[http://www.springframework.org/schema/beans|http://www.springframework.org/schema/beans]" xmlns:amq="[http://activemq.apache.org/schema/core|http://activemq.apache.org/schema/core]" xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance|http://www.w3.org/2001/XMLSchema-instance]" xsi:schemaLocation="[http://www.springframework.org/schema/beans|http://www.springframework.org/schema/beans] [http://www.springframework.org/schema/beans/spring-beans-2.0.xsd|http://www.springframework.org/schema/beans/spring-beans-2.0.xsd] [http://activemq.apache.org/schema/core|http://activemq.apache.org/schema/core] [http://activemq.apache.org/schema/core/activemq-core.xsd|http://activemq.apache.org/schema/core/activemq-core.xsd]">
<!-- Allows us to use system properties as variables in this configuration file -->
<bean>
<property name="locations">
<value>file:${activemq.base}/conf/credentials.properties</value>
</property>
</bean>
<!--
The <broker> element is used to configure the ActiveMQ broker.
-->
<broker xmlns="[http://activemq.apache.org/schema/core|http://activemq.apache.org/schema/core]" brokerName="instance1" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true">
<!--
For better performances use VM cursor and small memory limit.
For more information, see:
[http://activemq.apache.org/message-cursors.html|http://activemq.apache.org/message-cursors.html]
Also, if your producer is "hanging", it's probably due to producer flow control.
For more information, see:
[http://activemq.apache.org/producer-flow-control.html|http://activemq.apache.org/producer-flow-control.html]
-->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry memoryLimit="1mb" producerFlowControl="true" topic=">">
<pendingSubscriberPolicy>
<vmCursor/>
</pendingSubscriberPolicy>
</policyEntry>
<policyEntry memoryLimit="1mb" producerFlowControl="true" queue=">">
<!-- Use VM cursor for better latency
For more information, see:
[http://activemq.apache.org/message-cursors.html|http://activemq.apache.org/message-cursors.html]
<pendingQueuePolicy>
<vmQueueCursor/>
</pendingQueuePolicy>
-->
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<!--
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:
[http://activemq.apache.org/jmx.html|http://activemq.apache.org/jmx.html]
-->
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<!--
Added by csv 20110530:
The network connectors enumerate other brokers participating in
a network of brokers
{color} [http://activemq.apache.org/networks-of-brokers.html|http://activemq.apache.org/networks-of-brokers.html]
-->
<networkConnectors>
<networkConnector name="instance2" uri="static:(tcp://localhost:60002)"/>
<networkConnector name="instance3" uri="static:(tcp://localhost:60003)"/>
</networkConnectors>
<!--
Configure message persistence for the broker. The default persistence
mechanism is the KahaDB store (identified by the kahaDB tag).
For more information, see:
[http://activemq.apache.org/persistence.html|http://activemq.apache.org/persistence.html]
-->
<persistenceAdapter>
<kahaDB directory="${activemq.base}/data/kahadb"/>
</persistenceAdapter>
<!--
The systemUsage controls the maximum amount of space the broker will
use before slowing down producers. For more information, see:
[http://activemq.apache.org/producer-flow-control.html|http://activemq.apache.org/producer-flow-control.html]
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="20 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
-->
<!--
The transport connectors expose ActiveMQ over a given protocol to
clients and other brokers. For more information, see:
[http://activemq.apache.org/configuring-transports.html|http://activemq.apache.org/configuring-transports.html]
-->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:60001"/>
</transportConnectors>
</broker>
<!--
Enable web consoles, REST and Ajax APIs and demos
It also includes Camel (with its web console), see ${ACTIVEMQ_HOME}/conf/camel.xml for more info
Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details
-->
<import resource="jetty.xml"/>
</beans>
, multiple selections available,